將暫存區(qū)中的文件提交到本地倉庫中叙甸。注意它只會提交暫存區(qū)中的文件。
通過 git commit -m [msg] 位衩,其中 -m 后面的是本次提交的文字說明裆蒸,該文字說明是必不可少的;
如果 git commit 后不跟 -m 選項糖驴,則 Git 會啟動默認的文本編輯器讓用戶輸入本次的文字說明僚祷。可以通過
git config core.editor
修改使用的編輯器贮缕。每一次運行 commit 時辙谜,都會建立一個 commit 對象。
git commit -a
單獨使用 git commit 時跷睦,只提交暫存區(qū)中的內(nèi)容筷弦;如果想將非暫存區(qū)的內(nèi)容也提交肋演,必須先經(jīng)過 git add 后才行抑诸。這有時候會顯得繁瑣。
git commit -a 在跳轉(zhuǎn)時會跳過暫存區(qū)爹殊,它會將所有已納入版本控制的文件暫存起來蜕乡,然后一并提交。
該操作對未跟蹤的文件無效梗夸。它只是對已跟蹤過的文件先執(zhí)行 add 操作层玲,然后再 commit。
使用該命令時反症,也需要通過 -m 指定提交的文字說明辛块。如下:
$ git commit -a -m "測試 -a 效果"
git commit --amend
使用 --amend 選項可以修改最后一次提交的內(nèi)容。注意:修改之后會新建一個提交結(jié)點铅碍,即使沒有進行任何修改(包括內(nèi)容與提交信息)润绵。
-
如果最后一次提交后沒有修改文件,則運行該命令可以修改提交說明信息胞谈,而提交的快照與上一次一樣尘盼;
- 可以新建一個倉庫,只 commit 一次烦绳,然后再運行 git commit --amend卿捎,重新輸入新的提交說明。最后運行 git log -2 可以發(fā)現(xiàn)依舊只有一次提交径密,但提交信息已經(jīng)換成新輸入的文字午阵。
-
如果最后一次提交后有修改,可以先將修改通過 add 命令暫存到暫存區(qū)享扔,然后運行 --amend 提交底桂,可將本次修改的內(nèi)容合并到上一次提交中括细。可按如下步驟進行驗證:
新建一個倉庫戚啥,僅進行一次提交奋单,運行 git log -p -2 可以看出只有一條提交,并且列出了本次提交進行的修改猫十;
修改一個文件览濒,運行 git add ,然后運行 git commit --amend拖云。再運行 git log -p -2贷笛,可以發(fā)現(xiàn)只有一條提交,但修改的部分已添加上了本次的修改宙项。這說明:git commit --amend 會將本次修改追加到上次 commit 中返干。
-
該命令提交的是當(dāng)前的暫存區(qū)兽泄。
git commit --amend
會將當(dāng)前暫存區(qū)的快照再一次提交。也可以直接通過 -m 指定提交說明:
git commit --amend -m "test"