2012-06-25 48 views
0

我是SVN的新手。 SVN-add在這裏是爲了「準備一個文件集成到SVN中」,對吧?但是如果我希望它能夠有效地集成到版本控制中,我必須提交它(在我執行SVN提交時勾選)。那麼,爲什麼我會撤消 - 添加(如果在我提交後驗證文件集成之前添加沒有任何後果)?SVN-add和undo-add,用於什麼?

另外,你能指出我使用SVN的一些很好的參考嗎?

感謝和問候。

+2

你在哪裏「嘀盒子「,你正在使用一些GUI前端?參考文獻是SVN書籍:http://svnbook.red-bean.com/ – jpe

回答

2

您已經添加了一個文件,然後決定你犯了一個錯誤,你真的不希望將其添加到SVN。因此,在提交之前撤銷添加(即恢復工作副本中的更改)。

0

您在SVN中進行的每個操作都是在本地進行的,在您的工作區中。

如果您不想提交新添加的文件,則應該「取消」此添加,以獲得乾淨的工作空間。這是「撤消添加」的目標。

這裏是關於SVN一個很好的演講:http://svnbook.red-bean.com/

0

那麼,爲什麼我撤消加(如果附加有沒有影響我驗證之前 文件整合後提交)?

的確,如果您永遠不會提交該文件,您將永遠無法將其添加到SVN存儲庫中。但不要想着'準備整合',而是想'把文件放在版本控制之下'。這意味着如果您在文件夾級別而不是文件級別執行SVN操作,則可以確保只有您刻意要更新的文件纔會被觸及。

如果你做了svn up docs/,並且你的本地文件夾包含一個與存儲庫中的文件名相同的文件,svn會報錯。如果你的本地文件處於版本控制之下,它可能會將這兩者合併在一起,而不會發現。

同樣,如果你想整個文件夾提交到庫,你可以高興的是,沒有明確標記爲包含(如.LCK的.ds店)的任何文件不會被被COMMITED錯誤 - 最多造成不必要的混亂&最糟糕的情況是導致團隊中的開發人員之間發生衝突。

在這種情況下,如果不使用'undo-add',則意味着任何在較高目錄級別的svn提交都會將該文件添加到存儲庫。你忘了做的「svn添加」也許不久之後開始與:)

1

我用的是未來的svn命令和文件/ s的名稱結尾:

svn del --keep-local