文章目录
创建分支
git branch <分支名>
查看分支
git branch -v
切换分支
git checkout <分支名>
修改分支后的差异
在新建的分支中修改文件出现的差异:
同步分支
为了将qq分支的版本向mastser同步,需要以下步骤:
qq为修改的分支,master为同步的分支。
- 将分支切换到master上,通过切换分支 git checkout <需要同步的分支名>
- git merge <之前修改的分支名称>
eg: git merge qq 将qq分支合并到master分支上。
解决冲突
为什么产生冲突?
两个分支同时修改同一个文件,比如在master中修改a.txt,同时也在qq中修改a.txt,并且两个分支修改的内容不一致。此时git无法判断保留哪一个。
冲突表现为下图:
#出现错误:
Auto-merging a.txt
CONFLICT (content): Merge conflict in a.txt
Automatic merge failed; fix conflicts and then commit the result.
#并且下方的分支状态变为qq|merging
如何解决冲突?
step1. 编辑文件,删除特殊符号,修改为自己满意的内容。
通过特殊符号分辨出是哪一个分支的内容,head当前分支的内容,======== 另一个分支的内容。**商量好确定的版本后,手动修改(即删除带有特殊符号的行。比如<<<head,========,>>>>>>>master行即可,非编辑模式按dd可以删除行)**
修改a.txt为下图:
修改完成后保存退出。
step2. git add <文件名>
step3. git commit
此时commit一定不能带具体的文件名,例如git commit a.txt是错误的!!!
- git commit
- git commit -m <日志信息>