我剛剛發現this question關於從沒有使用--stdlayout完成的克隆中恢復。我沒有找到這個標誌的文件 - 它是做什麼的?--stdlayout在git svn clone中做了什麼?
17
A
回答
34
Subversion沒有分支或標籤的任何概念。相反,通常只需將存儲庫的內容複製到目錄中就可以模擬這些內容。
爲了git svn
能夠識別分支和標籤和主分支(「行李箱」),你必須明確地告訴它在哪裏找到它們,使用--tags
(或-t
),--branches
(或-b
)和--trunk
(或-T
)選項。
不過,許多Subversion版本庫遵循Subversion版本--trunk=/trunk --branches=/branches --tags=/tags
中規定的標準約定。 --stdlayout
(或-s
)對此約定進行編碼,以便每次克隆Subversion存儲庫時不必傳遞相同的參數。
您可以找到git-svn(1)
手冊此信息,您可以在Unix下用man git-svn
和操作系統無關的方式通過內置的Git幫助系統git help svn
訪問。在Kernel.Org上也可以使用All of the Git man pages,它們通常是搜索git-svn(1)
時的第一個搜索結果。
11
--stdlayout
(-s
)告訴git-svn
在/branches
文件夾應該導入爲分支機構,並在/tags
文件夾是一個項目狀態的快照,應該導入爲標籤。主分支將被設置爲/trunk
。
這相當於--trunk=trunk --tags=tags --branches=branches
該文檔在這裏:http://www.kernel.org/pub/software/scm/git/docs/git-svn.html#_commands – 2011-03-19 10:40:10
@Mark - 在我的辯護中,這裏的答案比文檔。 – ripper234 2011-03-19 10:43:52
對,我認爲S.O.在很多方面是與git手冊頁很好的對應:)手冊頁是準確的,並告訴你你需要知道什麼,但是需要相當多的關於git的知識才能夠理解他們所說的話。 – 2011-03-19 10:48:59