git提交到远程仓库如何撤回

不及物动词 其他 674

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要撤回已经提交到远程仓库的git提交,可以使用git revert和git reset命令。

    1. 使用git revert撤回提交:
    如果想要撤回一次提交,并创建一个新的提交来撤销之前的更改,可以使用git revert命令。它会创建一个新的提交,将之前的更改撤销掉。

    首先,使用git log查看提交记录,找到要撤回的提交的commit id。

    然后,使用git revert命令加上要撤回的commit id:git revert

    最后,使用git push将撤回后的修改推送到远程仓库:git push origin

    这样,撤回的提交就会在远程仓库中生成一个新的提交,撤销之前的更改。

    2. 使用git reset撤回提交:
    如果想要彻底删除某次提交,可以使用git reset命令。它会将HEAD指针移动到指定的提交,之后的提交将被删除。

    首先,使用git log查看提交记录,找到要撤回的提交的commit id。

    然后,使用git reset命令加上要撤回的commit id和参数–hard:git reset –hard

    最后,使用git push -f将撤回后的修改强制推送到远程仓库:git push -f origin

    需要注意的是,使用git reset命令进行撤回会修改提交历史,如果其他人已经基于该提交进行了开发,会造成代码冲突和困扰。

    总结:
    使用git revert可以创建一个新的提交来撤回之前的更改,不会修改提交历史,推荐在多人协作的情况下使用。
    使用git reset可以彻底删除某次提交,会修改提交历史,谨慎使用。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在使用Git的过程中,有时我们会不小心将错误的代码提交到远程仓库,或者提交了不完整或者不正确的修改。这时,我们就需要撤回已经提交的代码,以防止对项目造成不必要的损失。

    以下是撤回Git提交到远程仓库的几种方法:

    1. 使用撤销命令
    使用 `git revert` 命令可以撤销某一次提交。该命令会创建一个新的提交,将指定提交的修改内容撤销,并将撤销的修改提交到版本历史中。撤销的提交会保留在提交历史中,以便其他开发人员可以看到撤销的操作。

    使用命令:`git revert `撤销指定的提交。例如,`git revert abcdef`将撤销提交号为abcdef的提交。

    2. 使用回退命令
    使用 `git reset` 命令可以撤销提交并移动当前分支的指针。该命令会删除指定提交后的所有提交,并将删除的提交挪动到暂存区中。这种撤销方式相对危险,因为删除的提交无法恢复。

    使用命令:`git reset `撤销指定提交,删除指定提交后的所有提交,并将删除的提交移动到暂存区。例如,`git reset abcdef`将撤销提交号为abcdef的提交。

    3. 使用强制推送
    如果你只是对远程分支做了一个错误的提交并且希望将其撤销,可以使用强制推送来覆盖远程分支。但要注意,这种操作会丢失远程分支上已有的提交,而且可能会影响其他开发人员的工作。因此,在使用强制推送之前,一定要慎重考虑。

    使用命令:`git push -f`向远程仓库强制推送。这个命令会将本地的提交强行推送到远程仓库,并覆盖远程分支的内容。

    4. 使用回滚命令
    使用 `git revert` 命令可以撤回某一次提交。该命令会创建一个新的提交,将指定提交的修改内容撤销,并将撤销的修改提交到版本历史中。撤销的提交会保留在提交历史中,以便其他开发人员可以看到撤销的操作。

    使用命令:`git revert `撤销指定的提交。例如,`git revert abcdef`将撤销提交号为abcdef的提交。

    5. 使用更改历史重写
    如果你仅仅是对最近一次提交作出了错误的修改,你可以使用 `git commit –amend` 命令来修改最后一次提交。这个命令会将你的修改添加到最后一次提交中,并将其替换为一个新的提交。

    使用命令:`git commit –amend`修改最后一次提交。这个命令会打开一个编辑窗口,允许你修改最后一次提交的提交信息。

    无论选择哪种撤回提交的方法,都需要谨慎处理,并考虑到对项目和其他开发人员的影响。在执行任何撤回操作之前,最好先备份你的代码,以免在撤回过程中丢失数据。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    撤回已提交到远程仓库的 git 提交,可以通过以下步骤完成:

    1. 检查撤回前的提交历史

    在撤回提交之前,首先要查看提交历史。使用以下 Git 命令:

    “`bash
    git log
    “`

    这将显示所有提交的历史记录,包括 SHA 标识符和提交信息。请注意撤回提交之前的 SHA 标识符。

    2. 撤回提交并创建一个新的 commit

    使用以下 git 命令来撤回最新的提交并创建一个新的 commit,以替换之前的提交:

    “`bash
    git revert
    “`

    在上面的命令中,`` 是你想要撤回的提交的 SHA 标识符。

    这个命令将会撤销之前的提交,并创建一个新的提交,其中包含撤销之前提交所做的更改。使用这个命令可以保留提交历史的完整性,但是会创建一个新的提交作为撤销的结果。

    3. 强行推送撤回的提交

    撤回提交后,需要将新的提交推送到远程仓库。由于之前的提交已经存在于远程仓库中,所以需要使用 `–force` 参数来强制推送:

    “`bash
    git push –force origin
    “`

    在上面的命令中,`` 是你要推送的分支的名称。确保使用正确的分支名称进行推送。

    这个命令将会将新的提交推送到远程仓库,替换之前的提交。

    4. 注意事项

    撤回提交是一项有风险的操作,因为它会改变仓库的历史记录。强力推送会更改远程仓库中的历史记录,所以在执行之前请确保你的操作不会影响其他人的工作。

    如果其他人已经使用了你想要撤回的提交,或者你想要撤回的提交是一个共享的分支的一部分,最好与团队中的其他成员进行协商,并确保所有人都知道更新后的提交历史。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部