我有一个奇怪的问题,即git pull没有完全更新某个文件。
我正在开发一个只有一个遥控器的公司项目。我的本地仓库是远程提前3次提交,同时其他开发人员推送了其他一些提交。我们都在做主人。
所以我的情景是,我隐藏了我的本地更改,删除了最新的更改并注意到了冲突。没问题。
我解决了这个冲突但后来发现解决方案导致代码损坏。我通过Bitbucket检查了遥控器上的源代码,并注意到我的代码中的一个方法根本没有更新。请参阅下面的示例。
本地回购(拉前)
public Object method1() throws Exception {
return method2();
}
public Object method2() throws Exception {
return generateSomeObject();
}
远程仓库(重命名第一个方法并抛出不同的异常)
public Object newMethod1() throws SQLException {
return method2();
}
public Object method2() throws SQLException {
Object object = null;
try {
object = generateSomeObject();
catch (SomeException e) {}
return object;
}
这会导致类似的冲突 拉后
<<<<<<< HEAD
public Object method1() throws Exception {
======
public Object newMethod1() throws SQLException {
>>>>>>> 453451432435
return method2();
}
public Object method2() throws Exception {
return generateSomeObject();
}
冲突让人感觉很好。但是,我不明白为什么method2没有正确更新。我原以为它也会表现出冲突。因此,此方法的所有更改都没有从遥控器中下拉。
任何人都可以在git中解决这个问题,而不是手动复制遗漏吗?
答案 0 :(得分:1)
似乎合并被发生的冲突打断了。解决冲突后,您可以再次运行git pull
以恢复合并。 git merge --continue
也适用于较新的git版本。
有关简历git merge的更多信息,请阅读how-do-i-finish-the-merge-after-resolving-my-merge-conflicts