3

我现在开始在 SVN 办公室将 Git 用于我的个人工作流程,所以 git-svn 是我将非常依赖的工具。我遇到的一个我不知道如何解决的问题是如何在一个方向上忽略。

对我来说,具体的用例是我们的 ant 构建文件引用了 svn 和 svnversion 之类的东西。显然,如果我使用 git-svn,我不打算使用其中任何一个。我已经在本地 build.xml 中用 git 等价物替换了它们,它们工作得很好。

但是,我显然不想在 git svn dcommit 中提交该更改。我想将此更改保留在本地,并在本地提交,这样我就不会丢失它,但我不希望它再次提交到主 SVN 存储库,因为它几乎会破坏整个公司对 SVN 的使用, 如果我做。在这个问题中提出了一个单独使用 SVN 的类似情况。

是否有任何解决方案可以让我在本地提交 build.xml,继续从 SVN 获取 build.xml 更改(其中也有很多与 SVN 无关的内容),并且永远不要使用 dcommit 将其提交备份,而不跳转每次我尝试提交时都通过篮球?

4

1 回答 1

5

是的你可以。

正如您所指出的,您不能gitignore使用已经跟踪的文件。但是您可以做的是告诉您的索引它应该假装某些文件不存在任何更改:

git update-index --assume-unchanged <file>

如果您想停止忽略对该文件的更改(例如,因为您对build.xml需要与其他团队成员共享的更改进行了更改),请使用:

git update-index --no-assume-unchanged <file>

警告:如果你直接用 来添加文件git add <file>,它会假设你真的想添加那个文件,并且该--assume-unchanged指令将被忽略。

于 2012-03-08T15:59:50.310 回答