最近在做企业站外包

git建了一个仓库用来存放外包的各个网站,但每次下载都是全部下载时,不能单独下载管理。 于是想到了分支,把每个项目都单独放到一个分支里,这样用的时候切换分支就行了。具体操作如下:

1、建立分支

首页你需要的分支是必须要创建(对应不同的项目)

那么问题来了,后创建的分支默认是以当前分支为父分支的,像下面这样:"master-dev"的父分支是master

Git 一个分支管理一个项目

既然Git在创建是默认给我们的新分支指定了父亲,那么可不可以在创建是不需要呢?

强大的Git同样提供了解决方法(创建时提供--orphan 参数即可):git checkout --orphan 分支名

 

注意:

尽管创建分支时没有了父分支,但创建成功后,原分支的文件会在创建时添加到当前暂存区的,所以需要移除(不需要的情况下)

然后再将原分支的文件从当前分支仓库中移除,这样你的分支里的文件对于其他分支来说就是独一无二的了(即使不移除原分支的文件,此文件也是新添加到当前分支的,所以跟其他分支没有任何关系)

而其他分支也完全不可能会影响你当前分支的工作(不存在依赖关系的前提下)

 

当切换到PC分支时,Git仓库里的文件也会发生变化,也就实现了我们的目的

不同的分支其实就是不同的目录和文件,跟其他分支没有关系的

Git 一个分支管理一个项目

备注:推送用这个命令

Git 一个分支管理一个项目

可能遇到的问题 

1、分支切换时 报错 error: The following untracked working tree files would be overwritten by checkout

解决方法:

打开SourceTree通过命令行,进入本地版本仓库目录下,直接执行


git clean -d -fx
即可。可能很多人都不明白-d,-fx到底是啥意思,其实git clean -d -fx表示:删除 一些 没有 git add 的 文件;

    git clean 参数 

    -n 显示将要删除的文件和目录;

    -x -----删除忽略文件已经对git来说不识别的文件

    -d -----删除未被添加到git的路径中的文件

    -f -----强制运行

    git clean -n

    git clean -df

    git clean -f
2、rm 删除

  • rm

    删除文件

  • git rm

    git rm
    当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用git rm
    git rm file = rm file+ git add file
    rm file删除本地文件
    git add file 提交删除的步骤同步到git仓库

  • git rm --cached file

    当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用 git rm --cached
    git rm --cached 会从index里面删除该文件,下次commit的时候会修改git仓库,但是本地的文件还是保留

  • Untrack and stop tracking files in git

    有一些文件我们不想提交到git上去了,但是又被检测到有变化,显示Untracked files,我们可以采用
    git rm --cached file来停止跟踪这些文件

3、附上一些分支管理命令

创建分支

git branch dev

这就创建了一个dev(development之意),更好的,选择使用下面的方法创建两个分支——dev,创建后会自动切换到新创建的分支,

git checkout -b dev

切换master分支怎么办?使用

git checkout master

当然你也可以使用

git checkout dev 

再次切换到dev分支。

看看有哪些分支:

git branch

 

恭喜,算法调试成功,我要合并到master中

  1. git checkout master // 切换到master

  2. git merge debug // 合并debug到master

这时如果你很幸运,直接合并成功。

最后,反正debug我玩完了,删除debug分支

git branch -d dev

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2021-04-10
猜你喜欢
  • 2022-03-05
  • 2021-07-13
  • 2021-06-12
  • 2021-08-12
  • 2021-04-07
  • 2021-12-26
相关资源
相似解决方案