我需要撤消在git中完成的恢复并推送到远程存储库。其他人不使用存储库。我做了这个,后面认为恢复只是另一个提交。因此我尝试了git reset然后推送但它似乎没有用。有谁知道如何做到这一点?
-> git reset --hard HEAD~1
HEAD is now at ee7abe9 <msg>
-> git push -f origin myBranch
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: done
To 'ssh://remoteRepo'
! [remote rejected] mo_cache-BLACK -> mo_cache-BLACK (non-fast forward)
error: failed to push some refs to 'ssh://remoteRepo'
答案 0 :(得分:2)
您绕过Gerrit审核(不使用refs / for /)并尝试重写历史记录(-f)。我认为你没有权限。如果你这样会更容易:
将创建更改,只需审核,批准并提交。
答案 1 :(得分:0)
你可以尝试
git push origin +myBranch
+
符号将强制更新远程分支
答案 2 :(得分:0)
这可以通过两种方式实现:
git checkout HEAD^^ -- . and then git add -A && git commit .. git push.
git reset --hard HEAD^
上推送更改(尽管如此,请更加小心!)答案 3 :(得分:0)
我通常喜欢在分支路径上进行所有提交,除非我错误地输入了密码或某些敏感信息。所以我建议你恢复还原&#34;将git revert <commit id of your previous revert>
然后commit
和push
应用于origin
。