我现在开始在SVN办公室采用Git作为我的个人工作流程,所以git-svn是我将依赖的工具。我遇到的一个我不知道如何解决的问题是如何忽视一个方向。
我的具体用例是我们的ant构建文件引用了svn和svnversion之类的东西。显然,如果我使用git-svn,我不打算使用其中任何一个。我已经在我的本地build.xml中使用git等效替换了它们,这些工作正常。
但是,我显然不想在git svn dcommit中提交更改。我想在本地保留这个更改,并在本地提交它,所以我不会丢失它,但我不希望它再次被提交回主SVN仓库,因为它会破坏整个公司对SVN的使用, 如果我做。在this question中提供了仅使用SVN的类似案例。
是否有任何解决方案可以让我在本地提交build.xml,继续从SVN(其中包含许多与SVN无关的内容)进行build.xml更改,并且永远不会使用dcommit提交备份,每次我尝试提交都没有跳过箍?
答案 0 :(得分:5)
是的,你可以。
如您所述,您无法gitignore
已跟踪的文件。但你可以做的是告诉你的索引它应该假装某些文件没有变化:
git update-index --assume-unchanged <file>
如果您想要停止忽略该文件的更改(例如,因为您对build.xml
进行了更改,而您需要与其他团队成员共享),请使用:
git update-index --no-assume-unchanged <file>
警告:如果您直接使用git add <file>
添加文件,则会认为您确实想要添加该文件,而--assume-unchanged
指令将是忽略。