Linux與命令列基礎
編輯以 Git 管理的檔案 main.c 後,只執行了「git commit -m "fix"」,結果顯示「no changes added to commit」而沒有提交。理由是下列何者?
- A提交之前必須先用 git push 把變更送到共用的儲存庫
- B要包含在提交中的變更,必須先用 git add 登錄到暫存區
- CGit 在儲存檔案時會自動提交,所以不需要執行 git commit
查看答案與解析
正確答案:B. 要包含在提交中的變更,必須先用 git add 登錄到暫存區
在 Git 中,於工作目錄編輯的變更,只有用 git add 登錄到暫存區(索引)的部分,才會在下一次 git commit 時被記錄。藉由這種兩階段的機制,可以從編輯過的多項變更中只挑出相關的部分,整合成一個提交。使用 git status 可以確認哪些變更已經暫存。也有 git commit -a 的寫法,可把已追蹤檔案的變更一併登錄並提交。
- A. git push 是把提交送到共用儲存庫的指令,在提交之後使用。
- B. 正確。只有用 git add 暫存的變更才會被提交。
- C. Git 不會自動提交。要在何時記錄哪些變更,由使用者以 git add 與 git commit 決定。