2

我是唯一一个在我的项目上工作的人,我有一台开发机器、一台 nas 和另一台机器。我在我的开发上工作,将我的项目的更改推送到我的 nas 上的远程仓库,通常这很好,但现在我做了一些目录更改并将它们推送到我的 nas 上的 master 分支。我再次进行了一些目录更改,并希望它们再次推动我的 nas。所以首先我做了一个拉动git pull origin master,但失败了:

CONFLICT (rename/rename): Rename "svgopen/presentation/images/wine-problem.jpg"->"presentation/svgopen/images/wine-problem.jpg" in branch "HEAD" rename "svgopen/presentation/images/wine-problem.jpg"->"presentation/images/wine-problem.jpg" in "7fee244f7b93b0300783519870f2a8287ef6ace4"

git status 显示:

#   added by them:      images/wine-problem.jpg
#   added by them:      images/wine-problem2.jpg
#   added by us:        svgopen/images/wine-problem.jpg
#   added by us:        svgopen/images/wine-problem2.jpg

指示已移动的图像目录中的相同图像。有没有办法让 git 快速相信“我们”添加的所有内容都是需要维护的?而“由他们”是垃圾,可以忽略吗?

4

2 回答 2

2

如果您要进行合并,则可以使用以下选项:git merge -s recursive -X ours. 这将自动接受本地更改作为任何冲突解决方案中的正确更改。

或者,由于您是项目中唯一的人,您可能只是git push --force强制远程 repo 匹配您的本地副本。

于 2012-05-09T07:00:37.097 回答
0

如果您已经处于冲突中,那么您可以:

git checkout --ours file

有关更多详细信息,请参阅此博客文章

于 2012-05-09T07:05:36.840 回答