檢查修改:先確認“動了哪些地方”

在提交代碼前,最容易出錯的就是“稀裏糊塗把不該提交的東西送上去”。比如不小心把密碼、日誌文件,甚至遊戲存檔這類二進制文件也提交了,或者忘記了還有些代碼沒寫完就急着提交。所以第一步,得用 Git 的“眼睛”看看自己到底改了什麼。

怎麼檢查?
git status 命令,它會告訴你當前項目的“狀態”:哪些文件被修改了、哪些是新增的、哪些還沒被 Git 關注。比如你剛改了一個 index.html,執行 git status 後可能看到這樣的輸出:

On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

  modified:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)

  newfile.txt
  • modified: index.html:這個文件被修改了,但還沒被“暫存”(暫存=告訴 Git“我確認要提交這個修改”)。
  • Untracked files: newfile.txt:這是個新文件,Git 還不知道它的存在,需要手動決定是否提交。

看具體改了啥?
如果想知道 index.html 到底改了哪些地方,用 git diff index.html。它會像這樣顯示新增/刪除的內容:

diff --git a/index.html b/index.html
index 1234567..89abcde 100644
--- a/index.html
+++ b/index.html
@@ -1,3 +1,5 @@
 <html>
 <head>
+  <title>新標題</title>
   <body>
-    舊內容
+    新內容
+    這行是新增的
   </body>
 </html>

這樣你就能清楚看到改了哪裏,避免提交不該提交的內容(比如臨時註釋、調試用的 console.log)。

暫存修改:把“待提交清單”列好

確認要提交的文件後,用 git add 把它們“暫存”起來。暫存就像你把寫好的作業放進書包,準備給老師檢查,而不是直接扔到書包裏(未暫存的文件就像草稿紙,隨時可能被修改或丟棄)。

常用命令:
- 暫存單個文件git add index.html(把剛改的 index.html 放進“書包”)。
- 暫存所有修改git add .. 代表當前目錄下所有修改和新增文件,適合快速提交,但要小心別把不想提交的文件也加進去)。

執行 git add index.html 後,再用 git status 看看,index.html 就會從“未暫存”變成“待提交”:

On branch main
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

  modified:   index.html

如果暫存錯了?
比如不小心 git add 了一個 temp.log 日誌文件,用 git reset HEAD temp.log 就能把它從暫存區撤出來(回到未暫存狀態)。

寫好提交信息:給修改貼個“清晰標籤”

暫存好後,用 git commit 提交,但提交前一定要寫清楚“這次修改是爲了什麼”。提交信息就像快遞單上的備註,別人(或未來的自己)看到就能明白你做了什麼。

怎麼寫?
-m 參數加雙引號寫短信息(適合 1-2 句話),比如:

git commit -m "修改首頁標題和內容,新增歡迎文案"

如果信息太長?
如果想寫多行或更詳細的內容(比如“爲什麼改”“改了哪些部分”),直接敲 git commit 會自動打開文本編輯器(比如 Vim),你可以在裏面寫多行信息,寫完按 ESC,輸入 :wq 保存退出。

注意:提交信息要簡潔但別太簡略。比如“改了改”這種沒人懂的話,不如寫“優化首頁加載速度,減少冗餘代碼”。

總結:提交前的“黃金三步”

  1. 檢查修改:用 git status 看哪些文件待提交,git diff 看具體改了啥。
  2. 暫存文件:用 git add 把要提交的文件放進暫存區,別手滑加錯文件。
  3. 寫清信息:用 git commit -m "清晰描述" 提交,讓代碼歷史一目瞭然。

養成這個習慣,既能避免提交錯誤內容,也能讓團隊協作更順暢。記住:好的提交記錄,是代碼質量的“隱形名片”!

小夜