git分支管理(创建分支,分支间转换,查看分支,合并分支,删除分支,分支冲突)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Q1410136042/article/details/84206494

分支(branch)这玩意儿我也不知道该怎么解释,就按照自己的理解来吧~

在你第一次commit的时候,git会自动创建一个master分支(当然前提是你没有在这之前就转换到另一个分支上),这就是主线。有的时候,会想对仓库进行某些操作,但是我们又不想影响到仓库当前的状态,这个时候就可以创建一个新的分支~

git branch + 分支名
git branch SuperAFeiDa

这下就有了一个新的分支SuperAFeiDa。当然,光是创建了一个分支没用,只要没有转换到那个分支上,当前就还在master上面。这个时候就需要转换分支了~

git checkout + 目标分支
git checkout SuperAFeiDa

现在我们到了SuperAFeiDa分支上,实际上上面两句话可以简写为一句话:

git checkout -b SuperAFeiDa

然后我们想知道自己确实转换到了新的分支上,于是需要查看分支:

git branch

这样,系统会列出所有分支,并用 * 标记当前分支~~

看到了自己确实在新的分支上了,于是我们开始了新的开发~

100年过去了,针对SuperAFeiDa上面的东西已经完成了,可以将它加入到产品里了,那么就需要将SuperAFeiDa分支合并到master里:

git checkout 合并到的分支
git checkout master

git merge 被合并的分支
git merge SuperAFeiDa

这样SuperAFeiDa里面的东西就被合并到了master里了。值得一提的是,merge其实也是一次commit,也就是说,也可以加-m添加提交说明。SuperAFeiDa分支里面的东西已经没用了,那么这个分支就可以删除了:

git branch -d SuperAFeiDa

这个过程,貌似是完美的,但实际上,还有一种可能,就是在我们正兴致勃勃地在SuperAFeiDa上进行开发的时候,可能有人在master上也在进行着开发。这样合并的时候就可能有一个问题了:两个分支有同名文件,都进行了修改。这样两个分支就有了冲突,不能直接合并了,这要怎么搞呢?首先尝试merge,Git比较“聪明”,在进行合并的时候,会尝试着把两个修改强行合并,虽然得到的结果一般都不是我们想要的~~~然后就可以在合并后的冲突文件里看到神奇的东西(会看到什么,自己试试看就知道了,我才不截图呢~~~)。现在要解决冲突,就直接将冲突文件改成它应该的样子,然后commit就好了啊~~~

猜你喜欢

转载自blog.csdn.net/Q1410136042/article/details/84206494