我有一个中间git提交,我现在已合并到代码中。它错误地发生了。我有两个选择:
我想有关于使用第二个选项的建议,因为我没有管理员权限来安装插件。
提交1
提交2
我想保留提交1并删除提交2.提交2是一个目录,其中包含许多文件。
有什么建议吗?
答案 0 :(得分:0)
正常还原怎么样?你想因为它的大小而清除它吗?
然后你需要Force Push
访问权限[编辑:在Gerrit],这使你能够做到
git push --force
在您使用
跳过一次提交后git reset --hard HEAD^
请注意,在与开发人员团队一起处理存储库时,应避免重写历史记录。
答案 1 :(得分:0)
我认为你在寻找
$ git reset --hard REF
此处REF
将是SHA1
的{{1}}。
答案 2 :(得分:0)
好的,所以你想摆脱一次提交。
如果您尚未推出提交,可以使用
将其删除git reset --hard HEAD~
检查当前的修订版本。
您之前的历史记录:commit1--commit2
您的历史记录:commit1
如果你已经推送了提交,只要在commit2
(巨大的,密码等)中没有关键,最好将commit2
保留在历史记录中并恢复提交而不是丢弃它:
git revert <sha-of-commit2>
这将创建一个新的提交,以恢复commit2
所做的更改
您之前的历史记录:commit1--commit2
您的历史记录:commit1--commit2--commit3