我更改了测试存储库中的文件并更改了git push
。
现在我想git pull
到我的发展回购。然而,开发回购也在同一个文件中有变化......所以我想将两个变化合并在一起。
Git合并不起作用- not something we can merge
我最终执行git checkout <file>
删除我的更改并git pull
然后手动编辑更改。但我想知道是否有更好的方法来做到这一点。
答案 0 :(得分:1)
完成提交代码后,您可以从遥控器中提取更改。
如果你有冲突,git会提醒你,你必须解决它们。
听起来很奇怪,你无法合并,你没有冲突,也无法合并文件。
# checkout the 2 branches
git checkout branch1
git checkout branch2
# now merge locally the 2 branches
git merge branch1
答案 1 :(得分:1)
git pull
是git fetch
和git merge
的组合,因此,如果您未在git pull
之前撤消更改,则会自动合并更改。
话虽如此,但在执行git merge
时却出错,但在执行git pull
时没有错误,这很奇怪 - 除非您在执行git pull
时指定了远程和分支,但是在执行git merge
时未指定远程跟踪分支。如果是这种情况,您需要将本地分支与远程跟踪分支关联git branch --set-upstream-to=origin/master master
(将master
替换为您想要的任何分支)。
答案 2 :(得分:0)
如果你的工作目录是不干净的,你可以在拉动之前存储这些变化并在之后恢复它们:
git stash
git pull
git stash pop
PS。如果您从命令中提供更多输出,我将提供更详细的响应