如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?
当前回答
如果您已经推送,请首先在HEAD($GIT_commit_HASH_HERE)找到您想要的提交,然后运行以下命令:
git reset --hard $GIT_COMMIT_HASH_HERE
git push origin HEAD --force
然后,在复制了回购的每个位置,运行:
git reset --hard origin/master
其他回答
这里我只发布了一条清晰的管道
步骤1:使用gitlog获取提交ID。
git log
步骤2:使用git reset返回到以前的版本:
git reset --hard <your commit id>
资料来源:https://gist.github.com/sagarjethi/c07723b2f4fa74ad8bdf229166cf79d8
删除上次提交
例如,您最后一次提交
git推送原点+aa61ab32^:主
现在您要删除此提交,然后使用以下简单方法
步骤
首先将分支重置为当前提交的父级用力将其推至遥控器。
git reset HEAD^--硬git推送原点-f
对于特定的提交,您希望重置如下
git reset bb676878^ --hard
git push origin -f
上面的所有命令都会像提交之前一样恢复工作树和索引的状态,但不会恢复存储库的状态。如果您查看它,“已删除”提交实际上并没有被删除,它根本不是当前分支顶端的提交。
我认为没有办法用瓷命令删除提交。唯一的方法是从日志和reflog中删除它,然后执行git prune--expire-now。
git reset—软Id提交允许您删除提交,但不删除当前文件。然后使用git push-f源名称分支
使用git还原https://git-scm.com/docs/git-revert。它将还原所有代码,然后您可以进行下一次提交。然后head将指向上一次提交的代码。还原的提交不会删除,但不会影响您上次提交。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别