2011-12-02 127 views
4

我在git存储库中进行了一项更改,我不想传播给任何其他人。我确实希望将更改保留在本地存储库中。也就是说,我想把我的回购合并到我所做的更改中。Git永久忽略更改集

理想的答案会以某种方式指定git,只要我发出合并命令,它应该永久地忽略某个变更集。我宁愿不必在每次合并时都选择变更集。

为什么?

如果您对感兴趣,为什么:我正在使用git-tfs。 Visual Studio具有将TFS绑定存储在解决方案和项目文件中的不幸习惯。我想删除这些绑定,以便VS停止抱怨绑定错误,但是如果我意外地将修改后的文件检查到TFS中,它将会破坏仍然使用TFS的我所有团队成员的TFS-VS集成。

如何?

有没有一种简单的方法让我指示git在执行合并时总是忽略某个变更集?

+0

你有没有找到答案?我是我的项目中唯一使用Git的人,所以我想创建一个.gitignore并在本地提交,但不会将其推送到TFS。 –

回答

1

一个简单的想法:创建一个单独的本地分支,您可以在其中独立地执行这些特殊的本地更改。然后,当你从外部回购协议中提取时,你可以使用cherry-pick那个特定的提交到你已经提交到你想要的状态的提交 - 你甚至可以为它创建一个别名。

您可能还想分支已提交的提交,这样您就可以拥有一个用于推送的“干净”版本和用于执行工作的“您的”版本,并且/或者您可以在之前提交包含特殊消息的提交你推(与你的正常rebase进程一起)。显然你不想推动任何有你当地特殊设置的分支。

+1

我很难理解如何在推回到TFS时尝试编写我实际想要推送的分支时如何在没有大量额外工作的情况下使用此过程。听起来像,为了推回到TFS,我需要恢复本地提交,重新绑定到我的主服务器上,推送更改集,然后重新应用本地提交。有没有一种方法来编写恢复重新申请过程的脚本? – Eric