让我们定义"上游"作为创建遥控器的apache repo:
git remote add upstream https://github.com/apache/spark.git
我们有一个forked repo,我们在其中创建新文件 - 目前不需要与上游合并。
然而,我们无意中将一个公共文件提交/推送到我们的仓库:
的pom.xml
现在的问题是每次我们想要通过以下方式重新上游:
git rebase upstream/master
然后我们与pom.xml发生合并冲突。
我们的目的是完全忘记/忽略我们对该文件的任何自己的repo更改 - 并且只使用最新的上游版本。我们不希望每次同步到上游时都要处理对该文件的更改。
现在,只需做
git checkout HEAD -- pom.xml
将无效,因为它从我们的本地仓库中提取最新版本。
也使用
git rebase -i upstream/master
目前尚不清楚如何提供帮助 - 因为包含pom.xml的提交还有我们做所需的其他更改。我们不能简单地删除那个特定的提交
那么有什么选择 - 尽可能 - 完全忘记我们对pom.xml的更改。如果git历史记录无法修复,至少我们希望避免每次执行合并到上游时都需要重复合并该文件。