git怎麼修改歷史記錄
方法:1、用「git commit --amend」指令修改一次歷史記錄;2、用「git rebase -i 指定提交號碼」指令修改多個歷史記錄;3、用「git filter- branch --filer 指令修改的範圍」指令重寫歷史記錄。
本文操作環境:Windows10系統、Git2.30.0版、Dell G3電腦。
git怎麼修改歷史記錄
#初級選手git amend
如果只是在提交之後發現自己手殘了,用git commit --amend就可以修改剛才的那次提交。該命令在執行以後,會將剛剛的那一次提交從當前分支移除,把工作空間恢復到上次準備提交的狀態(同時混合了上次提交之後的更改),然後顯示出一個vim 的界面讓你去修改上次的提交資料。在vim 中儲存後,就會把目前的所有修改一併用新的提交資訊提交了。
該指令僅可以修改最後一次提交,一個指令相當於執行如下一系列動作:
$ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号 $git reset --soft HEAD^#回到最后一次提交准备提交前的状态 $...#做一些操作和修改 $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
中級選手git rebase
##前面的git commit --amend僅僅可以修改最後一次提交,但是當自己一時興起,手殘了一路時,這個命令就無法拯救我們了,這個時候我們就要祭出git rebase -i 這個大殺器來幫我們修改那些不堪回首的往事。 實際上,git rebase -i並不是一個專門用來修改歷史記錄的命令,而是一個讓我們可以交互式(就是一個個來) 進行衍合操作的命令,不過我們可以用這個命令來實現對於提交歷史的修改。 該指令的使用方法是git rebase -i ,例如可以用git rebase -i HEAD~3來修改本次提交、上次提交、上上次提交共三次提交。終極殺手git filter-branch
假如說我們提交了N 多次以後,突然發現我們這些提交的郵箱都寫錯了(╯°□° )╯︵ ┻━┻,這個時候如果使用之前提到的命令,估計還沒改完就要累死了。這個時候我們就可以使用git filter-branch來重寫分支,其可以批量的對每個提交執行我們預設的動作。git filter-branch指令使用的基本使用格式是git filter-branch -- '指令' ,不同的filter 會提供給命令不同的輸入和輸出。例如,--msg-filter表示修改提交信息,原提交信息從標準輸入讀入,新提交信息輸出到標準輸出;--tree-filter表示修改文件列表等等等。最後會有一個重寫的範圍。例如,git filter-branch --env-filter 'GIT_AUTHOR_EMAIL=john@example.com export GIT_AUTHOR_EMAIL' HEAD 就可以用來重寫郵箱。建議在調用命令之前先出啦一個分支做嘗試再在自己要修改的分支上執行操作。推薦學習:《Git教程》
#
以上是git怎麼修改歷史記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

在BeegoORM框架下,如何指定模型關聯的數據庫?許多Beego項目需要同時操作多個數據庫。當使用Beego...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

H5頁面需要持續維護,這是因為代碼漏洞、瀏覽器兼容性、性能優化、安全更新和用戶體驗提升等因素。有效維護的方法包括建立完善的測試體系、使用版本控制工具、定期監控頁面性能、收集用戶反饋和製定維護計劃。
