git管理空目錄

2021-06-22 17:17:52 字數 657 閱讀 4223

git 和 svn 不同,僅僅跟蹤檔案的變動,不跟蹤目錄。perforce 也是如此。

所以,乙個空目錄,如果裡面沒有檔案,即便 git add 這個目錄,另外在別處 check out 的時候,是沒有這個空目錄的。

只跟蹤檔案變化,不跟蹤目錄,這麼設計是有原因的。但這會帶來一些小麻煩。有時候,確實需要在**倉庫中保留某個空目錄。比如測試時需要用到的空目錄。

變通的解決辦法是在空目錄下存乙個 .gitignore 檔案。然後 git add 此目錄後,相當於跟蹤了 .gitignore 檔案,產生的「***」就是這個「空」目錄也納入「跟蹤」,最終的效果是可以 check out 出乙個看起來空空的目錄。如果有許多這樣的空目錄,可以用下面的命令自動補充 .gitignore 檔案: $

find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitignore \;

該命令的作用是遞迴找尋當前目錄下,型別為目錄,且為空,也沒有 .git 開頭的檔案,在其中用 touch 新建乙個空的 .gitignore 檔案。

然後 git add . 之後即可。

如果這些特殊檔案會對測試帶來干擾,那就只好在測試程式執行具體測試專案之前,先跑一段初始化目錄結構的**。另外可能還需要編寫負責清理的**。

Git提交空目錄

git和 svn不同,僅僅跟蹤檔案的變動,不跟蹤目錄。所以,乙個空目錄,如果裡面沒有檔案,即便 git add 這個目錄,另外在別處 check out 的時候,是沒有這個空目錄的。如果需要在倉庫中保留乙個空資料夾,有兩種方法 vim gitkeep.gitkeep是乙個約定俗成的檔名並不會帶有特殊...

git提交空目錄的方法

大家有時候希望從git倉庫中拉取 時目錄就已經存在了,不需要再手動建立,但是git並不允許git提交空目錄,應該怎麼辦呢?這篇文章通過可能遇到的兩個情況來分別介紹如何解決,有需要的朋友們可以參考借鑑。前言 git和 svn不同,僅僅跟蹤檔案的變動,不跟蹤目錄。所以,乙個空目錄,如果裡面沒有檔案,即便...

git提交空目錄的方法

前言 git和 svn不同,僅僅跟蹤檔案程式設計客棧的變動,不跟蹤目錄。所以,乙個空目錄,如果裡面沒有檔案,即便git add這個目錄,另外在別處check out的時候,是沒有這個空目錄的。只跟蹤檔案變化,不跟蹤目錄,這麼設計是有原因的。但這會帶來一些小麻煩。有時候,確實需要在 倉庫中保留某個空目...