2016-03-09 60 views
1

我在app/assets/下創建了一個新的fonts目錄,並將其添加到版本控制fonts目錄中,其中git add fonts
通常,當我在我的項目文件夾的任意位置創建或包含一個新文件時,這個新文件會自動添加到索引中並由git status在部分untracked files. 下報告但是我注意到每個新文件在fonts不會自動包含到版本控制中。相反,如果我git添加已經包含文件的目錄,那些文件也將被添加。我怎樣才能解決這個問題?
有沒有辦法創建並添加到版本控制的新目錄,以便每個包含的新文件都自動添加到版本控制中?如何自動添加到版本控制新目錄中的新內容?

+1

只要運行'git add -A'? – Carpetsmoker

+0

我以爲'git add fonts'會讓這份工作變得容易,但看起來並不好。運行'git add fonts'然後'git add -A'似乎是一個重複。是否有像'git add -A'這樣的單個對象命令,一個將新目錄及其所有內容添加到索引的命令?我把'git add -A'作爲最後的手段。 – Asarluhi

+0

與你聊天后,我真的沒有更清楚你的問題,不認爲你的問題(也不是我的答案)會讓其他人受益。投票結束。 – smathy

回答

0

當您使用git init後跟git add -A和第一次提交初始化存儲庫時,將創建一個Git目錄,該目錄是存儲庫的副本。存儲庫也是工作目錄。
當您在工作目錄中修改文件時,這些文件將在暫存區域中進行提交。然後您可以提交這些更改並'更新'Git目錄。

當您在工作目錄中添加一個新文件時,該文件也由Git在「未跟蹤文件」部分進行提交,因爲它是新的,並且在Git目錄中沒有任何跟蹤。

只有新文件由Git自動執行。
新的空目錄被忽略,後來被Git刪除(見下文)。
所以,當你添加一個新的空目錄並嘗試提交時,Git會警告你該提交不會做任何改變,並且建議使用--allow-empty選項,如果你反而想保留那個無用的提交。

取而代之的是,在創建新目錄之後,應該在其中放置一些文件。 事實上,通常讓混帳保持在工作和Git目錄的空目錄,就必須到該目錄名爲.keep

這一次空隱藏文件git add fonts會成功裏面添加的,因爲它會增加遞歸所有將fonts目錄內的文件複製到臨時區域。下一次提交會將該新快照永久存儲到您的Git目錄中。另外,如果這個提交沒有意義,那麼你可以繼續在你的工作目錄上工作,如果Carpetsmoker建議你花時間做一個git add -A,然後提交。

如果您使用文件補充新目錄但不添加.keep空隱藏文件,稍後如果刪除fonts目錄中的所有字體文件,目錄本身將被刪除。

相關問題