2011-07-07 221 views
110

我將源代碼控制添加到沒有任何項目的項目。問題是,有很多文件最初添加到git與10.gitignore文件,但我不知道如何添加所有文件,而不包括文件匹配.gitignore文件中的東西。因爲它可以檢測由的.gitignore忽略的文件git添加除忽略.gitignore文件中的所有文件外

git add * 

上面的命令不會添加任何文件。

git add -f * 

上述命令將添加包括我希望忽略的文件在內的所有文件。

那麼,如何添加所有文件的同時仍然堅持使用.gitignore文件?

回答

216

忽略比賽我想你的意思git add .將所有文件添加到未在指定.gitignore回購 - 你可以看到這些通過鍵入git status

.在bash的變化通常意味着這個目錄和所有其他目錄遞歸,因此,如果您從回購的最底層做到這一點,你應該添加的所有文件。

我通常的git流程是創建.gitignore文件並將項目文件添加到回購。在導入文件後,我將通過輸入git status來測試.gitignore文件 - 如果我看到了我添加的文件(例如,只有.php或.html,不包含.mp3或.mov),則可以使用git add .添加所有文件,和git commit -m "initial commit"提交它們,你應該設置。

+33

先生,你是個紳士和學者。你可以把它留在'我認爲你的意思是'git add。'',它完全可以解決這個問題,但是現在我知道了一個關於bash的新東西以及一個設置回覆引導的漂亮工作流程。我們今後在這裏(2013年!)謝謝。 – chucksmash

+1

@IamChuckB很高興幫助!感謝您的反饋! – Nic

+2

如果我做了'git add --all。',那麼在這種情況下'git add。'有什麼區別? –

23
git add . 

這將增加所有路徑,並從的.gitignore

11

嘗試git add .(意爲「所有文件添加在當前目錄及以下」)

2

另一種選擇是使用的Git回購的exclude文件。該文件與.gitignore文件類似,但不承諾回購。

Github docs

您可以使用此技術來本地生成的文件,你不希望其他用戶生成,如您的編輯器創建的文件。

使用您最喜歡的文本編輯器在Git存儲庫的根目錄中打開名爲.git/info/exclude的文件。您在此處添加的任何規則都不會被簽入,並且只會忽略本地存儲庫的文件。

  1. 在終端,導航到Git倉庫
  2. 使用你喜歡的文本編輯器的位置,打開文件.git/info/exclude
  3. 規則添加到exclude文件,你會在.gitignore文件
相關問題