Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何重置远程分支的提交?_Git_Bitbucket - Fatal编程技术网

Git 如何重置远程分支的提交?

Git 如何重置远程分支的提交?,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命令)

情况是这样的,

分支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

  • 删除“重置提交头数”提交
  • 从原点提取“问题修复A”
  • 使用git重置——软头~

  • 如果要在最后一次提交中添加更多更改,只需将其作为正常阶段进行,然后再次提交:

    $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

    谢谢您的回答,但我不能这样做,因为我没有权限。在这种情况下,您无法重置它。您应该进行新的提交以修复更改,或者进行新的拉取请求(如果您正在进行拉取请求)