Git 如何重置远程分支的提交?
如何重置远程分支的提交?(使用git命令) 情况是这样的, 分支AGit 如何重置远程分支的提交?,git,bitbucket,Git,Bitbucket,如何重置远程分支的提交?(使用git命令) 情况是这样的, 分支A git add modify files git commit -m "ISSUE FIX A" git push origin A 从问题修复提交中发现问题,因此我想重置此提交 git reset HEAD^ git commit -m "Reset commit HEADNUM" git push origin A 然后是错误消息 ! [rejected] BRANCH A -> BRANCH A
git add modify files
git commit -m "ISSUE FIX A"
git push origin A
从问题修复提交中发现问题,因此我想重置此提交
git reset HEAD^
git commit -m "Reset commit HEADNUM"
git push origin A
然后是错误消息
! [rejected] BRANCH A -> BRANCH A (non-fast-forward)
请告诉我任何解决办法。。谢谢因为您试图编辑历史记录,所以需要使用
git push--force origin A
虽然只有当您正在推动自己的拉取请求时,或者在历史发生变化时人们不会感到惊讶的地方,才应该这样做
顺便说一句,您可以通过使用git commit--amend
修改上次提交来修改提交,而无需使用git reset
如果要在最后一次提交中添加更多更改,只需将其作为正常阶段进行,然后再次提交: $git添加一些/changed/file.ext $git commit--amend-m“提交消息” 也可以使用硬命令和软命令: 既不生成任何新提交,也不删除任何旧提交。它的工作原理是将当前头部分支重置为旧版本(也称为“回滚”到旧版本): $git reset--硬提交ID 执行此命令后,当前签出的分支将位于修订委员会。在此之后发生的提交实际上已撤消,并且在此分支的历史记录中不再可见 但是要小心:使用“-hard”选项调用命令将放弃您当前可能进行的所有本地更改。该项目完全恢复了过去版本中的状态。
如果使用“-keep”而不是“-hard”调用它,则回滚版本中的所有更改都将作为本地更改保留在工作目录中。只需在本地解决问题,保存并:
git add .
git commit --amend --no-edit
git push --force-with-lease
保持相同的提交消息,提交及其哈希将发生更改。
--force with lease
会用本地文件覆盖您的远程分支,除非其他人对其作出承诺。注意:如果这是其他人使用的公共分支
存储库,您有责任通知您的更改。因此,他们可以执行原点重置
对于本地:git reset——硬z99909W
z99909W是在bitbucket中找到的提交id
对于存储库:
git push--force origin z99909W:branchA
谢谢您的回答,但我不能这样做,因为我没有权限。在这种情况下,您无法重置它。您应该进行新的提交以修复更改,或者进行新的拉取请求(如果您正在进行拉取请求)