在svn中,“git add”的等价命令是什么?

13

要将一些更改提交到git仓库中,必须先将其添加到暂存状态。如果不添加文件进行提交,则该文件将不会进入仓库。

但是在SVN中,显然没有这样的暂存状态。每次对工作副本所做的更改都将与下一个svn提交一起提交到仓库中。如何防止提交某些本地更改的文件而不恢复更改?


2
看到这个问题以这种方式提出来很有趣,即不是惊讶于git有“暂存区”这个概念,而是有人在Subversion中寻求类似的功能 :) Elijah Newren在他的博客文章中对此进行了很好的讨论。 - Mark Longair
我非常失望地发现没有这个功能。暂存区不仅可以指定哪些文件提交,而且还可以作为一种本地“保存”。当我在某个功能上取得良好进展时,但又不想立即提交,而想继续修改同一个文件时,我经常使用它,同时始终能够还原到暂存版本。 - lenz
2个回答

14

svn commit 命令带有可选的文件名参数,用于限制需要提交的文件集:

svn commit -m "my commit" file1.txt file2.txt

你还可以使用"changelist"功能将一个或多个文件分组到一个变更清单中,可以通过一条命令提交。这仍然比Git略微不够灵活,因为你不能仅添加单个文件的部分(例如使用git add -p)。


3
我会尽量保持原意,翻译如下:我希望“稍微”这个词不要出现在“This is still slightly less flexible than Git”这句话中——因为可以提交文件的部分内容恰好是我正在寻找的功能。 - Craig McQueen

1

您可以通过以下方式为 svn commit 指定特定的文件名和目录:

svn commit myfile.c

这将只提交那个文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接