我在我的 git 存储库中做了一个更改,我不想传播回任何其他人。我确实想将更改保留在我的本地存储库中。也就是说,我想 pull 我的 repo 协议(protocol)以 merge 到我所做的更改中。
理想的答案会以某种方式指定 git 每当我发出 merge 命令时它应该永久忽略某个变更集。我宁愿不必在每次 merge 时都挑选出那个变更集。
为什么?
如果您对原因感到好奇:我正在使用 git-tfs。 Visual Studio 有将 TFS 绑定(bind)存储在解决方案和项目文件中的不幸习惯。我想删除这些绑定(bind),以便 VS 停止提示绑定(bind)错误,但如果我不小心将修改后的文件 checkin TFS,它将破坏我团队中仍在使用 TFS 的所有成员的 TFS-VS 集成。
怎么做?
有没有一种简单的方法可以让我在执行 merge 时指示 git 始终忽略某个变更集?
最佳答案
一个快速的想法:创建一个单独的本地分支,您可以在该分支上提交您保持独立的这些特殊本地更改。然后,当您从外部存储库中 pull 内容时,您可以cherry-pick
将该特定提交添加到您已 pull 的提交中,以达到您想要的状态——您甚至可以为它创建一个别名。
您可能还想对 pull 的提交进行分支,这样您就可以同时拥有用于推送的“干净”版本和用于处理工作的“您的”版本,和/或您可以还原
您的在推送之前提交包含您的特价商品的提交(以及您的正常 rebase
流程)。显然,您不想推送任何具有本地特殊设置的分支。
关于Git 永久忽略变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359191/