git 应用 远程仓库分歧

1.clone远程仓库
git 应用 远程仓库分歧
2.在本地提交一次git commit
git 应用 远程仓库分歧
3.在远程仓库上同伴分别对master和test1分支进行了提交
git 应用 远程仓库分歧
4.这时不能直接push,因为远程仓库和本地仓库产生了分歧,远程仓库master分支已经到c5,而本地分支的o/master还是c2
git 应用 远程仓库分歧
5.这个时候可以使用两种方法解决这个分歧
5.1 使用git fetch和git merge
5.1.1将远程仓库的信息拉回到本地git fetch,注意所有的分支都进行了更新
git 应用 远程仓库分歧
5.1.2将本地的master分支和远程o/master分支进行合并git merge o/master
git 应用 远程仓库分歧
5.1.3将本地的修改提交到远程分支git push
git 应用 远程仓库分歧

这里看到test1,分支并没有做任何改动,因为git push 默认的只是push,HEAD指针所在的分支
git pull = git fetch + git merge,不推荐使用git pull
5.2使用git rebase
5.2.1 git rebase o/master
git 应用 远程仓库分歧
5.2.2 git push
git 应用 远程仓库分歧