git分支管理

xiaoxiao2021-02-28  84

简介

      在开发大型项目中,很多情况下不同开发人员负责开发不同的模块,这时效率就显得尤为重要,git的分支管理明确而简洁地解决了大部分问题

用法

新建一个分支

[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br * master [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git checkout -b master-a Switched to a new branch 'master-a' [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br master * master-a [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $

如图所示,本地仓库默认有一个master分支,这时我们如果新建一个分支master-a,此时跟master是指向一个版本的,然后我们转移到master-a分支上完成我们的工作即可; 那么,会产生一个问题,git如何知道我们现在处于哪个分支呢;如图,git有一个HEAD指针用来指向本地当前所在的分支,所以在我们转移到master-a分支后,HEAD也指向了master-a分支.

合并分支

[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br master * master-a [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master-a" [master-a 9db9161] master-a 1 file changed, 1 insertion(+), 1 deletion(-) [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git co master Switched to branch 'master' [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master" [master 4c88be5] master 1 file changed, 1 insertion(+), 1 deletion(-) [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a Auto-merging a.txt CONFLICT (content): Merge conflict in a.txt Automatic merge failed; fix conflicts and then commit the result.

我们在master-a分支上做了一些工作之后想把工作合并到原分支上,这时会产生一些冲突,因为有可能原来的master分支也被修改过了,所以我们要解决冲突; 解决的办法就是找到产生冲突的文件,里面会显示master与master-a冲突的行,<<<所在的位置就两个分支冲突的地方,上下通过====分割

1 <<<<<<< HEAD 2 asdassss 3 ======= 4 asdadassss 5 >>>>>>> master-a 6 bbbb 7 adasdaaaaa 8 assssasdaddss 9 asdad 10 ss

修改好后再次合并就可以了.

[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a error: Merging is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use 'git add/rm <file>' hint: as appropriate to mark resolution and make a commit. fatal: Exiting because of an unresolved conflict. [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "sure" [master 7a14172] sure [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-a Already up-to-date.

常用命令

命令 作用 git branch

显示所有分支

git branch a 新建一个名为a的分支 git checkout -b a 新建一个名为a的分支并切换上去 git branch -d a 删除名为a的分支 git merge a 将当前分支与a合并 git checkout a 切换到a分支上

      

转载请注明原文地址: https://www.6miu.com/read-63202.html

最新回复(0)