使用merge 对本地分支进行合并 并进行代码提交的流程

1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit

2.假设本地两个分支   用于开发的分支:dev    用于同步远程仓库的分支:master 

3.切换到master分支 进行 (git pull origin 远程分支) 不要在master 分支进行开发(也不要在master分支进行add commit),以此保证当在master分支进行git pull 不会产生冲突(如果不慎在master分支修改了内容, 可以先撤销所有修改,再将版本回退到没有冲突的地方)

4.在master分支拉取了最新代码后,如果没有在master分支进行过开发,那么这个分支内容就是没有冲突的最新的内容

5.切换到dev分支, 将所有的修改进行add 以及commit 然后  git merge master  将master 的分支合并过来

  • merge 遇见冲突后会直接停止,等待手动解决冲突并重新提交 commit 后,才能再次 merge
  • merge 是一个合并操作,会将两个分支的修改合并在一起,默认操作的情况下会提交合并中修改的内容
 1 python@ubuntu:~/Desktop/learning_git$ git commit -m "a=dev"
 2 [dev b8b4023] a=dev
 3  1 file changed, 1 insertion(+), 1 deletion(-)
 4 python@ubuntu:~/Desktop/learning_git$ git status
 5 位于分支 dev
 6 无文件要提交,干净的工作区
 7 python@ubuntu:~/Desktop/learning_git$ git merge master
 8 自动合并 1.txt
 9 冲突(内容):合并冲突于 1.txt
10 自动合并失败,修正冲突然后提交修正的结果。
11 python@ubuntu:~/Desktop/learning_git$ git status
12 位于分支 dev
13 您有尚未合并的路径。
14   (解决冲突并运行 "git commit"15 
16 未合并的路径:
17   (使用 "git add <文件>..." 标记解决方案)
18 
19     双方修改:   1.txt
20 
21 修改尚未加入提交(使用 "git add" 和/或 "git commit -a"

6.进入文件修改冲突内容

1 <<<<<<< HEAD
2 a=dev
3 =======
4 a=6
5 >>>>>>> master

   <<<<<<<<HEAD

   a=dev

   ========

   

   是当前分支的内容

=======
a=6 >>>>>>> master

是master分支的内容,修改冲突

7.修改完冲突以后重新 git add git commit 就可以 git push 了

猜你喜欢

转载自www.cnblogs.com/lowmanisbusy/p/9054087.html