从下载的git repo推送修改

时间:2019-03-20 16:48:42

标签: git merge

一位同事通过从gitlab下载项目而不是进行结帐,开始在我们的git存储库中工作。我想提交/推送他的修改,但这是有问题的,我不确定最好的做法是什么(我也不是git专家)。

  • git status显示每个文件已修改,因为权限不同。 git config core.filemode false确实对此有所帮助
  • git commit -a似乎可以正常工作,但推送被拒绝,“远程包含您在本地没有的工作”
  • git pull导致许多冲突“都已修改”
  • git merge -Xours给我“无法合并,因为您有未合并的文件”
  • git checkout --ours -- .摆脱了<<<<但随后
  • git status仍显示文件“已修改”,我无法提交。

我不确定在此阶段要做什么并推动所有“我们的”

2 个答案:

答案 0 :(得分:2)

尝试git format-patch“复制”每个提交到正确克隆的存储库。

将其视为手动采摘樱桃。

答案 1 :(得分:1)

您正在列出尝试解决该问题的内容,但似乎您没有适当地中止git pull所导致的合并,因此,进一步的尝试均无效。首先git merge --abort,然后您可以尝试其他合并或其他任何操作。

评论后编辑:

然后确定。所以在--abort之后,去

git merge -s ours <branch>

...如果您确实只希望接管一部分,则覆盖另一侧的所有更改,或者替代地

git merge -Xours <branch>

保留双方的修改,但始终在冲突的部分选择“我们的”一方。

(但是,我建议您首先进行常规合并,并手动解决冲突,除非您真的确定想要的结果。)