
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 跟蹤分支
- Git - 變基
- Git - 變基與合併
- Git - 壓縮提交
- Git 操作
- Git - 克隆操作
- Git - 標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - 修補程式操作
- Git - Diff 操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - Checkout
- Git - 恢復
- Git - 重置
- Git - 恢復操作
- Git - Rm
- Git - 切換操作
- Git - Cherry-pick
- Git - 修改提交
- 伺服器上的 Git
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 啞 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上獲取 Git
- Git - 設定伺服器
- Git - 守護程序
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維護專案
- 自定義 Git
- Git - 配置
- Git - 鉤子
- Git - 屬性
- Git - Init
- Git - Commit
Git - 修改提交
git commit --amend 命令是 Git 中一個強大的功能,用於修改最近一次提交。它允許開發人員更新提交資訊、新增或刪除更改以及修復錯誤,而無需建立新的提交。此命令實際上用一個新的提交替換了最後一次提交,並將自該提交以來所做的任何更改都合併到其中。雖然很有用,但它需要謹慎使用,因為它會更改提交歷史。
歷史重寫方法概述
Git 提供多種重寫歷史的方法,例如
git commit --amend
git rebase
git reflog
每個選項都提供不同程度的靈活性和控制來處理提交歷史。
修復提交資訊中的錯誤
如果您發現上次提交資訊包含錯別字或不清楚,您可以使用git commit --amend來更改資訊
git commit --amend
執行此命令會開啟預設文字編輯器,允許您編輯提交資訊。儲存並關閉編輯器後,修改後的提交資訊將替換原始資訊。
將錯過的更改新增到上次提交
有時,您可能會忘記在提交前暫存某些更改。與其為錯過的更改建立新的提交,不如暫存它們並修改上次提交
git add <file> git commit --amend
修改後的提交將包含新新增的更改,有效地將它們與之前的提交合並。
從上次提交中刪除更改
如果上次提交錯誤地包含了檔案或更改,您可以取消暫存或編輯這些更改,然後使用git commit --amend更新提交
git reset HEAD^ <file> git commit --amend
這將從提交中刪除指定的檔案,同時保持其他更改不變。
更改上次提交的作者
要更改作者資訊,請將--author標誌與git commit --amend一起使用
git commit --amend --author="New Author <new.author@example.com&lgt;"
何時使用 git commit --amend
git commit --amend 命令非常適合
更正不清楚或包含錯誤的提交資訊。
將錯過的更改新增到上次提交,以將相關更改儲存在一個提交中。
在推送到遠端倉庫之前,從提交中刪除意外的檔案。
當提交使用錯誤的詳細資訊進行時更改作者資訊。
何時不使用 git commit --amend
如果以下情況,請避免使用git commit --amend
該提交已推送到共享倉庫,並且其他協作者正在處理它。
更改不是次要的,並且提交歷史應反映開發過程的每個步驟。
瞭解何時以及如何有效地使用git commit --amend可以顯著改善您的版本控制實踐。