标签:ast 合并 详解 git 报错 完全 com 技术 成熟
在Git中,假设写了第一个版本的代码VI,然后下面又写了第二个版本的代码V2,那么V2保留的内容是相对于V1新加的内容,他们之间的关系是V2指向V1。这一条线叫做主干:master
此时在V2的基础上,想新加一个功能G1,那么可以在V2的基础上添加一个分支,这个分支G1是创建了一个新环境来写的。再比如说此时想添加另外一个新功能G2,我们同样创建一个分支,这个分支用来写G2。G1和G2是完全不交涉的。最后如果我们确定G1和G2完成之后,我们只需要将他们合并到主干master上即可。
git log
git branch
git branch G1 # 用于创建新分支
git branch # 查看当前所处分支
我们切换到分支G1去,然后查看分支,发现现在我们处在G1分支中。
git checkout G1
上图开发完成之后,我们查看一下状态,发现文件被修改了,接着添加到git管理,提交到版本控制,最后查看状态。所以现在我们是在G1这个新的环境中修改代码。
git status git add . git commit -m ‘G1‘ git log
git checkout master
git branch G2 git checkout G2 ...开发中 git add . git commit -m ‘G2‘
切换到G2之后,我们开发完G2,然后将他提交到版本控制中,并且查看他的状态,我们发现里面没有G1,只有G2和V2还有V1,这也再次说明G1和G2是单独的一个环境,没有任何交涉,他们都是通过指针指向V2。
git checkout master
然后我们查看一下状态,只有V1,V2
接着我们合并G1到master中
git merge G1
查看状态,相对于没有合并的,现在的主干上多了G1
git branch -d G1
git merge G2
此时我们发现出现了一个报错,这说明合并文件出现了冲突。因为我们之前合并过G1,而G1和G2都属于分支,当两个分支都合并到master中时,Git不知道如何将他们合并到一起,所以会产生冲突。
为什么合并G1不会产生冲突了?这是因为合并G1时,没有其他分支在他之前合并过。
我们查看代码文件:
此时,我们手动将他们合并
最后我们执行版本控制,将他们提交即可
标签:ast 合并 详解 git 报错 完全 com 技术 成熟
原文地址:https://www.cnblogs.com/missdx/p/12343771.html