【git 基礎教程 #3】如何追蹤歷史紀錄? | 如何重置提交訊息?
Part I 的部分,介紹了參與一項專案所需知的最低限度操作
Part II 的部分,則介紹了多人協作時,控制進度流程所必須的動作
Part III 的部分,將會介紹日常開發時,可以運用版本控制軟體
追蹤歷史紀錄與重置提交訊息...等,協助開發操作的細節。
checkout
查看版控紀錄
reset file
重置檔案
reset branch
重置分支
replace commit
覆寫提交紀錄
history log
檔案歷史日誌
知曉了這些操作,可以讓你的開發,更加順利。
目錄
- Checkout 操作
- Reset File 操作
- Reset Branch 操作
- Reset Commit 操作
- History Log 操作
1.Checkout 操作
切換檔案到特定提交
- 歷史紀錄列表,點擊兩次左鍵
- 右鍵 ->
Checkout...
切換完成
切換後,若切換的提交(commit)上面沒有分支的話,會使用 HEAD
標示目前切換狀態
Command Line
git checkout develop
git checkout d60729
git checkout develop
: 切換到develop
分支git checkout d60729
: 切換到編碼為d60729
的提交(commit)
2.Reset File 操作
重置檔案為之前的狀態
工作目錄區 -> 檔案 -> 右鍵 -> Reset...
Command Line
git checkout -- README.md
git checkout -- README.md
: 將單一檔案README.md
還原成修改前的內容
3.Reset Branch 操作
重置選定的分支到特定狀態
- 當前分支為
develop
- 跟
master
分支為相同紀錄狀態 - 重置
develop
到下方的提交 (commit) 狀態
選取重置的目標提交(commit) -> 右鍵 -> Reset develop to this commit
重置模式選擇
重置模式
- mixed : 重置時保留工作目錄檔案
default
- soft : 重置時,保留所有檔案,工作目錄區與暫存區
- hard : 重置時,不保留檔案,工作目錄與暫存區域的檔案皆會清空
重置完成
develop
分支以切換到下方提交(commit)紀錄上
Command Line
git reset d60729 --mixed
git reset master --soft
git reset d69729 --hard
git reset d60729 --mixed
: 使用 mixed 模式,重置當前分支到編碼d60729
的提交(commit)git reset master --soft
: 使用 soft 模式,重置當前分支到 master 分支狀態 的提交(commit)git reset d69729 --hard
: 使用 hard 模式,重置當前分支到編碼d60729
的提交(commit)
4.Replace Commit 操作
追加修改已經提交的歷史紀錄
- 狀況1:Commit 訊息覺得不夠完整,修改訊息
- 狀況2:Commit 檔案發現有遺漏,追加檔案
Commit Options -> Amend last commit
Command Line
git commit --amend --no-edit
Notice
追加已經修改的提交紀錄,適用情況為僅提交到本地端數據庫,尚未提交到遠端數據庫的情況。
雖然可以使用強制推送的方式來修改,但通常建議在推送一次重置過的檔案,使用新的檔案來覆蓋
5.History Log 操作
查看單一檔案的變動的歷史紀錄
狀況:抓戰犯,Bug 作者- 查看過去修改時做了什麼
檔案 > 右鍵 > Log Selected
單一檔案的提交歷史紀錄
選擇檔案,可以單獨重置檔案到選擇的歷史提交
檔案 -> 右鍵 -> Reset File to This Commit
留言
張貼留言