2011-05-16 117 views
16

我喜歡關於GIT的一件事是您只能在文件中提交一些更改。例如,如果您正在執行涉及同一文件的兩個不同更改,則可以將該文件作爲兩個單獨的提交併提交不同的註釋。SVN - 僅提交一些更改

像:

我整天都意識到,前幾天的變化一直沒提交之前對文件的工作,我可以做的選擇,下面我想該線路中的承諾包括:

Login.php [246]: previous changes 
Login.php [247]: new changes 

我意識到這種能力是因爲GIT的變化集是DIFF,而SVN只是提交整個文件。是否有可能與SVN有相同的行爲?

如果有一個SmartSVN特定的黑客,那麼這將是正常的,因爲這是我們使用的。

+2

對於那些不熟悉的git,'GIT中添加-p'會給你一個顏色編碼所有逐行更改的差異,並詢問您要提交哪些更改。 – 2011-05-16 01:31:41

回答

6

使用git - svn的,我不認爲SVN有這樣的支持,或者說任何SVN客戶端從混帳SVN做分開,甚至hgsubversion


有些誇大其詞:

我不要以爲你問這個問題的理由是正確的。這意味着你必須改變你創建變更集和提交的方式。我想要這樣的功能的原因是由於以下原因:

說有一個構建文件。它在構建服務器中有一定的任務要完成。對於我的本地盒子,我將其生成安裝程序的部分註釋掉,因爲我不需要在開發盒上這樣做。現在,如果在某個時候我想對此構建文件進行更改,我必須撤消刪除安裝程序代的部分,並執行其他更改。在這種情況下,我希望有能力選擇其他變更並單獨承諾。

+0

爲什麼我沒有想到這個! :-) 謝謝。對於任何對使用此設置感興趣的人來說,這是一個有用的閱讀:http://www.viget.com/extend/effectively-using-git-with-subversion/ – Nippysaurus 2011-05-16 06:53:43