删除本地提交?

osh*_*nen 4 git

我有3次提交(我目前只在我的本地机器上使用GIT).

如果我删除提交2,它会影响提交3中的任何更改,因为提交3是从提交2开始的吗?

我打算使用:

git reset --hard <commit 2 id here>
Run Code Online (Sandbox Code Playgroud)

Bor*_*ski 5

命令

git reset --hard <commit 2 id here>
Run Code Online (Sandbox Code Playgroud)

不会删除提交2.这只会将您当前的分支放在提交2上.如果没有其他分支指向提交3,您可能会在垃圾回收期间将其丢失.

你需要的是交互式rebase:

git rebase -i HEAD~2
Run Code Online (Sandbox Code Playgroud)

然后你将得到编辑器启动提交2和提交3列出.只需删除提交2的行,保存并退出编辑器.这将删除提交2离开提交3.提交3的父级将提交1.提交2引入的所有更改都将完成.