我最近使用git-svn將Subversion轉換爲Git。 我知道我必須添加.gitkeep才能在Git中添加一個空目錄。 這是否意味着Git在創建目錄時不存儲歷史記錄?創建空目錄時,Git是否存儲歷史記錄?
我的Subversion版本庫有很多空目錄,如果我將.gitkeep添加到Git的所有空目錄中,這意味着目錄的歷史記錄看起來好像它們是現在創建的,而不是創建空目錄的確切日期。
我最近使用git-svn將Subversion轉換爲Git。 我知道我必須添加.gitkeep才能在Git中添加一個空目錄。 這是否意味着Git在創建目錄時不存儲歷史記錄?創建空目錄時,Git是否存儲歷史記錄?
我的Subversion版本庫有很多空目錄,如果我將.gitkeep添加到Git的所有空目錄中,這意味着目錄的歷史記錄看起來好像它們是現在創建的,而不是創建空目錄的確切日期。
不,Git不存儲有關目錄的信息。 git-svn
有設施可以幫你照顧這個。
git svn clone --preserve-empty-dirs
將在克隆時處理空目錄。它將創建一個佔位符文件來跟蹤空目錄(默認爲.gitignore
),並根據需要刪除它們。
git-svn還存儲未跟蹤的空目錄。 git svn mkdirs
可在結帳或重置後使用以重新創建空目錄。
最後還有svn-remote.<name>.automkdirs
配置值來控制是否git svn clone
和git svn rebase
會爲您運行git svn mkdirs
。
您不能將目錄添加到Git,只有文件。所以是的,Git不知道何時添加了空目錄 - 因爲空目錄永遠不會被添加。
Git只關心文件。所以是的,歷史記錄會記錄'.gitkeep'(或者你選擇的任何文件名,它不是預先定義的或者某個東西)。 – keltar 2015-02-06 06:06:32