2011-08-05 175 views
4

來自svn背景,雖然不是那個高級用戶,但我對git的目錄結構感到困惑。git目錄結構混淆

對於C++項目,我讀了這本書的親混帳這是網上的第一個3章。我想這是一本很好的書,有很多數字可以讓你更容易解釋。

現在的問題是,在SVN下創建該我的頭和源代碼分別位於即trunk目錄(更準確地說,我與SVN命令創建它們)時,包括和src目錄。在前三章以後,我沒有看到像這樣的結構。問題是,在這樣的目錄下構建你的工作的最佳策略是什麼,應該創建不同的目錄,並將這些目錄下的文件分別添加到跟蹤控制中,還是存在更加結構化的方式來完成此操作?

我想我不必把一切都在一個地方,這是極不可能的......

回答

8

你可以使用任何你想要的文件夾結構。

如果你想有

myproject 
    |-- src 
    |-- include 

這很好。 你確實(當然)不必把所有東西都放在一個地方

的唯一的事情就是(假設myproject是你的回購的根),你將有一個.git文件夾中有您的回購數據存儲:

myproject 
    |-- .git 
    |-- src 
    |-- include 

不像SVN工作拷貝的每一個文件夾中的.svn文件夾,Git只使用這個文件夾來跟蹤回購。

+0

好吧,這就是我誤解的內容,因此它與快照概念正確對齊,它拍攝了我的項目下的內容的快照,然後處理這些快照,對嗎? –

+0

@Umut:您的回購*是*您的工作副本。如果提交,信息將存儲在'.git'文件夾中。這回答了你的問題了嗎? – eckes

+0

eckes,好吧,不知道,我應該添加整個目錄,然後那個目錄下的內容會自動跟蹤,對不對? –

7

SVN沒有任何真正的標籤和分支,一切都只是一個又一個文件或文件夾的副本。 git支持真正的分支,不需要類似於svn的目錄結構。 只需爲項目創建所需的目錄結構 - 完成分支和標籤使用git branchgit tag分別(與顛覆的svn copy命令)

3

混帳使得它們佈置在一個在修訂的內容(文件之間有着明顯的區別目錄樹)以及修訂歷史記錄和分支機構。

因此,一個典型的Git用戶不會造成像樹幹和樹枝目錄。一個提交確實只包含屬於此修訂的文件。這完全取決於你的內容,沒有任何git書會推薦它的外觀。

看你的歷史版本使用的工具gitk。

當然,如果你真的想,你可以創建目錄樹幹,樹枝等。git會不會抱怨。 SVN用戶可能會很高興看到這樣的回購,git用戶可能不那麼多。