階段和提交更改

基礎

在修改原始碼後,你應該舞臺 Git 的這些變化,然後才能提交它們。

例如,如果你更改 README.mdprogram.py

git add README.md program.py

這告訴 git 你要將檔案新增到你做的下次提交中。

然後,使用提交更改

git commit

請注意,這將開啟一個文字編輯器,通常 vim 。如果你不熟悉 vim,你可能想知道你可以按 i 進入插入模式,寫下你的提交資訊,然後按 Esc:wq 儲存並退出。要避免開啟文字編輯器,只需在你的訊息中包含 -m 標誌即可

git commit -m "Commit message here"

提交訊息通常遵循一些特定的格式規則,有關詳細資訊,請參閱好提交訊息

快捷鍵

如果你更改了目錄中的大量檔案,而不是列出其中的每個檔案,則可以使用:

git add --all        # equivalent to "git add -a"

或者從頂級目錄和子目錄新增所有更改,不包括已刪除的檔案

git add .

或者只新增當前跟蹤的檔案(更新):

git add -u

如果需要,請檢視分階段的更改:

git status           # display a list of changed files
git diff --cached    # shows staged changes inside staged files

最後,提交更改:

git commit -m "Commit message here"

或者,如果你只修改了現有檔案或刪除了檔案,並且沒有建立任何新檔案,則可以在單個命令中組合 git addgit commit 的操作:

git commit -am "Commit message here"

請注意,這將以與 git add --all 相同的方式暫存所有已修改的檔案。

敏感資料

你永遠不應提交任何敏感資料,例如密碼甚至私鑰。如果發生這種情況並且已將更改推送到中央伺服器,請將任何敏感資料視為已洩露。否則,之後可以刪除這些資料。一種快速簡便的解決方案是使用“BFG Repo-Cleaner”: https//rtyley.github.io/bfg-repo-cleaner/

命令 bfg --replace-text passwords.txt my-repo.gitpasswords.txt 檔案中讀取密碼,並將其替換為***REMOVED***。此操作考慮整個儲存庫的所有先前提交。