2010-05-11 47 views
17

這兩個命令有什麼區別?沒有-a選項的git commit會有什麼影響?

git commit -m "added a new page" 

git commit -a -m "added a new page" 

我知道-a選項將上演已修改和刪除的文件,但後來什麼運行它沒有-a是什麼意思?

回答

27

您必須通過使用git addgit rm明確地對承諾進行更改。

如果使用做一個承諾當-a標誌,git會自動分期任何修改和刪除的文件,您無需顯式地將它們暫存使用addrm

如果指定-a,在提交中將忽略任何已被修改或刪除但未使用git addgit rm明確分段的文件。

更新

由於布馮贊恩Zanettini博士說 - -a文件添加到索引中,所以如果你有全新的文件,你不應該期望-a到廣告他們。

http://www.kernel.org/pub/software/scm/git/docs/git-commit.html

+0

感謝您的幫助! – ben 2010-05-11 04:02:22

+0

@不用客氣。 – 2010-05-11 04:37:29

+2

小記:'-a'只適用於修改/刪除文件。根據git文檔,新文件不受影響:'但是你沒有告訴Git的新文件不受影響。「=>執行'git add .'而不是'git commit -a'幾乎總是更好。 – 2017-08-02 12:54:04

相關問題