2010-08-16 100 views
209

有沒有辦法添加所有文件,無論你做了什麼,無論它被刪除,未跟蹤等?就像一個提交。我只是不想在每次提交時都要使用git addgit rm所有文件,尤其是當我在處理大型產品時。Git添加修改,刪除和未跟蹤的所有文件?

+6

請參閱:[「git add -A」和「git add。」的區別](http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add) – mahalie 2011-06-07 01:14:10

回答

9

我不確定它是否會添加刪除的文件,但git add .從根目錄將添加所有未跟蹤的文件。

+0

看到我的答案如何添加已刪除的文件 – 2013-02-18 17:15:09

254

嘗試:

git add -A 

警告:使用Git 2.0(2013年中期)開始在整個工作樹,這將總是階段文件
如果你想上演你的工作樹的當前路徑下的文件,你需要使用:

git add -A . 

另見:Difference of git add -A and git add .

+0

這不適合我...我如何顯示我的終端輸入輸出在這個討論中?複製粘貼我的終端輸出作爲這個討論的答案? – 2011-10-11 12:29:21

+0

這裏是我面臨的問題 - http://stackoverflow.com/q/7726131/636762 - 請在這一個請幫助我 – 2011-10-11 12:41:38

+0

這也可以不工作,如果你的git版本是舊的。我在運行git 1.5.2.5的服務器上運行腳本。 git add -A沒有工作。從腳本中沒有報告錯誤消息。只有從命令行才發現-A不是合法的選項。 – Eponymous 2012-01-16 16:37:32

8
git add . 

有加和」之間的空間。 「 (點字)。它做的工作。:)

+1

'git add .'階段新和修改,*沒有刪除* - http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add – 2013-03-13 21:21:47

58

嘗試

git add -u 

的 「u」 選項代表更新。這將更新回購,並實際上從您在本地副本中刪除的回購中刪除文件。

git add -u [filename] 

對一個文件進行刪除。一旦推入,該文件將不再處於回購中。

另外,

git add -A .

相當於

git add . 

git add -u . 

注意額外的 ''在git add -Agit add -u


警告:使用Git 2.0(2013年中期)開始,在整個工作樹這將總是階段文件
如果你想上演你的工作樹的當前路徑下的文件,你需要使用:

git add -A . 

另見:Difference of git add -A and git add .

4

我撰寫了G2的項目,在命令行一個友好的環境git情人。
請從GitHub獲得項目 - G2 https://github.com/orefalo/g2

它還包含了許多方便的命令,其中一人正是你要找的正在:freeze

凍結 - 凍結在庫中的所有文件(添加,刪除,修改),從而將該內容分級以包含在下一次提交中。也接受特定的路徑作爲參數

4

這是我的選擇(在任何bash)的:

$ git status -s|awk '{ print $2 }'|xargs git add 

要重置

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD 
30

你想git add -A

git add -A階段所有;

git add .階段新增和修改,未刪除;

git add -u階段修改和刪除,沒有新的。

1

我用下面的行添加分期所有修改和新創建的文件,但不包括的.gitignore列出的:

git add $(git ls-files -mo --exclude-standard) 

(語法$()是的bash shell)。我想,在命令行選項-mod還應添加刪除的文件...或者,如果你有嵌入的空格的文件名,下面的一行應該做的伎倆:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add 
4

對於新版本Git的

我試圖git add -A,這提示,

警告:與沒有路徑參數 從樹的子目錄「git的添加--all(或-A)」將在Git的2.0更改行爲並且不應再使用 。要添加整個樹的內容,運行:

混帳添加--all:/(或git的添加-A:/)

要限制該命令將當前目錄,運行:

混帳全部添加 。 (或git add -A。)

使用當前的Git版本,該命令僅限於當前的 目錄。


然後我嘗試下面這工作

git add --all :/ 
14

git add --allgit add -Agit add -A .階段所有

git add .階段新&修改沒有刪除

git add -u階段修改&刪除沒有新

git commit -a手段git add -ugit commit -m "message"

寫這個命令後請按照下列步驟操作: -

  1. 寫你的消息
  2. 按ESC
  3. :瓦特q
  4. 進入

git add <list of files>添加特定的文件

git add *.txt添加所有的txt文件在當前目錄

git add docs/*/txt加入文檔目錄中的所有TXT文件

git add docs/加入文檔目錄中的所有文件

git add "*.txt"git add '*.txt'添加在整個項目中的所有文件

1

從版本2開始的Git文檔。0:

要爲整個樹添加內容,運行:

git add --all :/ 

git add -A :/ 

要限制的命令將當前目錄下,運行:

git add --all . 

git add -A . 
1

這是我使用的沉渣夾下的所有修改過的文件:

git add . 

謝謝!

+1

這似乎只是[現有的答案]的重複(https://stackoverflow.com/a/8680056)和[現有答案](https://stackoverflow.com/a/3498057)。 – Pang 2017-06-09 03:27:10

相關問題