2011-04-28 137 views
10

要對git倉庫進行一些更改,我必須首先將其添加到分階段狀態。如果我不添加文件來提交它不會去回購。svn「git add」替代?

但是在SVN中,顯然沒有這樣的分段狀態。我對我的工作副本所做的每一項更改都會通過下一個svn commit進行回購。如何防止一些本地更改的文件在不恢復更改的情況下進行提交?

+2

有趣的是,看到這個問題的方式,也就是說,而不是感到驚訝,git有「暫存區域」的想法,有人在Subversion中要求類似的東西:)這裏有一個很好的討論[在以利亞Newren](http://blogs.gnome.org/newren/2007/12/08/limbo-why-users-are-more-error-prone-with-git-than-other-vcses/) – 2011-04-28 11:03:19

回答

14

svn commit命令採用可選的文件名參數,限制了文件集的承諾:

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

您還可以使用"changelist" feature一個組或多個文件到一個變更,可以在一個命令提交。這比Git稍微靈活一些,因爲你不能只添加一個文件的一部分(比如git add -p)。

+3

我會做在「這比Git稍微靈活一些」中沒有「略微」這個詞 - 提交部分文件正是我正在尋找的功能。 – 2014-11-25 23:38:50

1

你可以給出具體的文件名和目錄使用svn通過類似承諾:

svn commit myfile.c 

這隻會犯一個文件。