Git插入新的commit
實際應用中,可能需要在指定的提交之間插入新的提交。
首先看一下當前的提交歷史,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git log --oneline
程式碼執行效果截圖如下:
總共有五個提交記錄,按照提交的先後順序從下向上排列,先提交的在下面。
下面就以在c3和C4之間插入一個新的提交為例子,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git rebase -i b0aa963
特別說明:
(1).b0aa963用來確定commit範圍,表示從此提交開始到當前的提交。
(2).並不包括b0aa963提交。
執行此命令後,彈出VIM編輯器,關於編輯器的基本操作參閱git Vim編輯器輸入內容、儲存和退出操作一章節。
截圖如下:
截圖說明:
(1).頂部的commit提交排列順序與git log排列相反,最先提交的在最上面。
(2).前面的pick表示保留此次commit提交不做修改。
(3).底部紅框給出所有可用的命令。
將4f66476提交前面的pick修改為edit,那麼當Rebase執行到這一行的時候會停下來:
儲存並退出,這時候HEAD指標指向4f66476處:
這時候插入我們想要的commit提交即可:
[Shell] 純文字檢視 複製程式碼$ touch newText.txt
在工作區新增一個newText.txt檔案。
[Shell] 純文字檢視 複製程式碼$ git add newText.txt
將新增檔案加入到暫存區。
[Shell] 純文字檢視 複製程式碼$ git commit -m "add newText.txt"
建立一個新的commit提交。現在仍處於Rebase狀態,所以要讓它繼續執行完畢,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git rebase --continue
程式碼執行效果截圖如下:
現在檢視一下提交歷史,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git log --oneline
程式碼執行效果截圖:
新的commit提交已經新增到c3和c4之間。
相關文章
- git commit後如何取消commitGitMIT
- git commit --amendGitMIT
- Git 合併指定的commitGitMIT
- Git commit 之後,想撤銷 commitGitMIT
- git commit 規範GitMIT
- Git commit規範GitMIT
- 關於Git commitGitMIT
- Git拆分commit提交GitMIT
- 使用 Git 撤銷 Commit,但未 Git Push 的命令GitMIT
- git 中撤銷已commit 的GitMIT
- git commit 的正確姿勢GitMIT
- git 修改已有commit的提交日期GitMIT
- git 修改 commit 資訊GitMIT
- Git commit message 規範GitMIT
- 撤銷 git commit --amendGitMIT
- Git Commit 標準化GitMIT
- git修改commit註釋GitMIT
- Git刪除指定commitGitMIT
- 撤銷 git commit –amendGitMIT
- git專案之間的commit同步GitMIT
- Git 修改已提交的commit註釋GitMIT
- git 工作流和git commit規範GitMIT
- git分支管理及git commit message規範GitMIT
- 優雅的提交你的 Git Commit MessageGitMIT
- [Git CLion] 規範Commit格式GitMIT
- git commit提交空內容GitMIT
- Git修改commit提交資訊GitMIT
- git hooks之——pre-commitGitHookMIT
- [譯] 分割一個已存在的 git commitGitMIT
- git commit 彈出編輯器後報錯: Aborting commit due to empty commit message.GitMIT
- 專案規範-git commit 配置GitMIT
- Go:git gofmt pre-commit hookGoGitMITHook
- Git檢視指定commit資訊GitMIT
- 你可能已經忽略的git commit規範GitMIT
- 編寫git commit資訊的最佳實踐GitMIT
- Git Commit Message 應該怎麼寫?GitMIT
- Git 實用操作:撤銷 Commit 提交GitMIT
- git server“丟失”commit問題探究GitServerMIT