git branch命令是对git中的branch进行相关操作使用的命令,通常和git checkout、git merge命令匹配使用



创建一个新的branch使用命令

$ git branch new_branch



切换到这个new_branch分支使用命令

$ git checkout new_branch




上述两个命令可以合并为一个命令



$ git checkout -b new_branch




通过git status可以查看当前分支

$ git status

# On branch new_branch

或者

$ git branch

查看当前分支,可能显示情况如下:

develop

master

* new_branch //当前所在分支为new_branch



删除某个分支

git branch -d

git branch -D

d、D的意思即为delete

d为merge后正常删除

D为强制删除



多个分支不同情况下需要进行内容合并,使用git merge进行合并操作。

假设现在没有任何分支,进行创建

$ git branch branch_a

$ git branch branch_b

$ git checkout branch_a

$ echo ‘a’ > index.php

$ git add index.php

$ git commit -m ‘touch index.php on branch_a’

$ git branch b

$ echo ‘b’ > index.php

$ git add index.php

$ git commit -m ‘touch index.php on branch_b’

$ git merge branch_a

这个时候提示错误



Auto-merging index.php
CONFLICT (add/add): Merge conflict in index.php
Automatic merge failed; fix conflicts and then commit the result.

大致意思为自动合并index.php失败,请手动修复并提交结果

$ git status //查看一下当前状况,发现index.php前面标明 both added,意为2者都进行了add,需要选择增加的



$ vi index.php

<<<<<<< HEAD
b
=======
a
>>>>>>> a


=====作为分割线,<<<<<<和>>>>>标明分支名称,HEAD表示当前分支,b内容即为branch_b上的内容,a即为branch_a上的内容

修改内容为

a

b

正常add和commit.

cat index.php发现内容为

a

b

没有问题

这个时候完成了两分支合并,删除branch_a即可

$ git branch -d branch_a

提示Deleted branch a (was 6639ebf).



以上为出现错误合并的现象,请自行尝试不冲突的文件合并(比如两分支有两个名称不相同的文件的合并)