chi*_*n s 4 git git-revert git-reset
我已经向我的本地分支做了几次提交estimation并将它们推送到远程分支estimation.
现在,我想完全删除最后3次提交.
我试着做git reset HEAD^,并git reset HEAD --hard3次,但是当我试图推动的变化,它抱怨不对齐头部尖.
我该怎么做?
编辑:
历史如下:
commit e572aab4e18
commit e21e7310bc4
commit 4f372a513da
commit 31a4ac607ae
commit a1a6e3f02dd
我想删除前4并返回commit a1a6e3f02dd并在同一HEAD上创建本地和远程分支.
如果您已经推送了提交(并且不想在远程存储库中执行强制推送和覆盖数据,那么您可以执行以下操作):
您可以使用git revert而不是git reset:
$ git revert ~4..HEAD
Run Code Online (Sandbox Code Playgroud)
或者您可以使用git checkout然后提交更改:
$ git checkout ~3 -- .
$ git commit
Run Code Online (Sandbox Code Playgroud)
git revert将做3个单独的还原提交.该git checkout方法允许您仅在一次提交中还原更改.
在您的情况下,您可以这样做:
$ git reset --hard $REMOTE/$BRANCH
$ git checkout a1a6e3f02dd -- .
$ git commit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3510 次 |
| 最近记录: |