git分支操作命令
git checkout -b new_branch #Switched to a new branch 'new_branch'
git branch new_branch
git checkout newbranch #这两条命令和上一条等效
git branch #显示所有分支,当前分支前面有“*”
dev
master
* new_branch
git checkout dev #Switched to branch 'dev'
#更改、add、commit、切换到new_branch分支
git merge dev #将dev分支合并到ew_branch分支
Merge made by the 'recursive' strategy.
hello.cpp | 1 +
1 file changed, 1 insertion(+)
git branch -d dev #删除dev分支
git分支
我理解的分支就是版本随时间推移连成的时间线,有一个叫HEAD的指针指向当前的工作版本,而再建立一个名为时间线名的指针指向HEAD,新建分支(git branch new_branch_name)即在当前时间点(版本点)新开时间线,分支切换($ git checkout branch_name)即把HEAD指针指向此时间线头部,并把此时间线的指针指向HEAD,继续在此分支上做修改。完成后,把工作分支切换到原分支,并把新建的分支合并到原来分支(git merge branch_name),合并完成后,就可以删除新建的分支了(git branch -d branch_name)。但是如果同时在新建的分支和原分支上做了修改,并且修改是矛盾的,就会出现冲突,需要手动合并。
手动合并
Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
修改冲突内容,再add,commit。
Written with StackEdit.