Git忽略变更集

时间:2011-05-17 13:57:17

标签: svn git git-svn

您好 我目前正在使用SVN。假设我有一些文件需要在我的电脑上本地显示一些更改(我需要它们在我的配置上运行它)但它们不应该提交给服务器。 我的SVN情况可以将它们添加到.ignore并且不提交它们,但这只适用于我工作期间更改其他文件的情况。如果我需要在标记为忽略的文件中更改某些内容 - 我需要在提交之前备份这些文件,还原已忽略的更改,在备份后提交并还原它们。有时这可能非常烦人。

我听说过git,它是基于变更集而不是文件构建的。我可以使用git-svn忽略一些变更集吗?

3 个答案:

答案 0 :(得分:1)

如果您使用的是git-svn,则可能会对其create-ignoreshow-ignore选项感兴趣,这些选项会创建与现有.gitignore设置匹配的svn:ignore文件

如果您要忽略的文件纯粹是本地文件,svn:ignore甚至不知道,那么将其名称/模式放在.gitignore中应该足以让git忽略它们git-svn(除非您已将它们明确添加到索引中)。

如果你想忽略一个变更集(不同的是忽略一个文件作为git提交的一部分),你应该把它们放在一个不同的分支上,你不用git-svn“dcommit”。 / p>

答案 1 :(得分:0)

我在理解你的问题时遇到了一些麻烦,但我尝试了:

如果您向svn:ignore添加文件,则SVN会忽略该文件。因此,在提交之前/之后不需要备份或恢复它。你确定你没有意外添加这些文件吗? SVN忽略svn:ignore中的文件,但如果你svn add ignorefile.bak,则该文件将被添加到存储库中。

git也是如此。它还有一个忽略文件,但您仍然可以强制添加文件。

那就是说,你的项目中永远不应该有未提交的文件。文件很重要,那么你应该提交它。如果这会破坏他人的工作,请以不同的名称提交(例如arched.config而不是project.config)。否则,其他用户将很难维护该软件。或者对你自己来说,如果你的电脑突然死了。

如果文件与项目无关,则根本不应该在项目中。把它放在其他地方。

使用Git,您甚至还有另一种选择:您可以创建一个包含该文件的分支,就像它包含任何其他文件一样。将该分支命名为“archeg-work”。现在,您始终可以在此分支上工作,项目将开箱即用。只需克隆它,不需要进一步的更改。

如果您对自己的工作感到满意,请将更改合并回主分支。与SVN不同,分支确实适用于Git。 Linus Torvalds每天都会合并成千上万的分支机构。

答案 2 :(得分:0)

这与git或svn没有特别关系。

在您进入的情况下,通常的做法是在版本控制下放置此文件的模板(例如config.in)并忽略真实的配置文件。克隆存储库时,您只需复制模板,版本控制系统就会忽略将使用的真实文件。