欢迎大家访问我第一个开源的代码库—MoFaNeRF
问题描述
当多人协作时,常常出现要提交本地代码,但是远程被其他人修改过的情况。这个时候Push会提示版本落后,由于冲突将无法合并。
这里我们介绍一种思路–新建分支—pull远程—merge合并—提交
1. 新键分支–pull远程
如果远程的分支和本地分支不重名的话,我们可以直接使用,表示从远程origin库中pull下来,放在master:tmp分支下面。master是当前本地的分支名。
git fetch origin master:tmp
(可选) 查看当区别
git diff tmp
2. merge合并
git merge tmp
如果合并成功,master后面可能会跟上一个随机命名的参数,表示我们现在在这个合并后的缓存时。
(可选)查看状态
可以用git status查看状态,或者*git branch -a"查看分支情况。
此时我们可以通过这个修改确定下来。
git add *
git commit -m "merge"
3. 提交当前代码到远程仓库
git push origin master
(可选)删除本地的缓存分支
git branch -d tmp
总结一下:
git fetch origin master:tmp
git merge tmp
git add *
git commit -m "merge"
# 建议检查一下修改的内容,再继续
git push origin master
其他问题
遇到:
git fatal: refusing to merge unrelated histories
加上参数修改为:
git merge tmp --allow-unrelated-historie