关于Git删除某条中间提交记录の详细说明 ⑅︎◡̈︎*
——> 全文约 475 字 <——
假设在我当前的某个分支上,我有 A –> B –> C 三个提交记录,现在我想删掉提交记录B,使得提交记录变成 A –> C 。
在命令行中执行
git log查看当前提交信息,如图所示:
可以得知第一次提交的 Commit ID 为
1abdbdd5d5016a4d4e62f2ffb0d99edda480d372。执行
git rebase -i 1abdbdd5d5016a4d4e62f2ffb0d99edda480d372,命令行将会列出从HEAD指针所在位置(即第三次提交记录)到第一次提交记录(不包含第一次提交记录)之间的所有提交记录,如图所示:
按照列出的命令指引对文本进行编辑(按一下键盘的
i键),在这里为了删除第二次提交记录,应该把第一行的pick改为drop,并且保存修改(按一下键盘的esc键,再输入:wq),命令行显示成功变基并更新 refs/heads/sample-branch,再次执行git log查看当前提交记录,可以发现第二次提交记录已被删除(但是第一次和第三次提交记录的 Commit ID 都发生了变化),如图所示:
git rebase -i | –interactive
Make a list of the commits which are about to be rebased. Let the user edit that list before rebasing.