git如何撤回已发的推送

fiy 其他 167

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    撤回已发的推送,可以通过以下步骤来实现:

    1. 确定要撤回的推送 commit ID:使用 `git log` 命令查看最近的提交记录,找到要撤回的 commit ID。

    2. 使用 `git revert` 命令创建一个新的提交来撤销已发推送的更改。例如,要撤回的 commit ID 是 `abc123`,可以执行以下命令:
    “`shell
    git revert abc123
    “`

    这将创建一个新的提交来撤销指定的提交。

    3. 若之前的推送已经推送到了远程仓库,需要再次使用 `git push` 命令将这个新的提交推送到远程仓库:
    “`shell
    git push origin
    “`
    其中,`
    ` 是你要推送到的分支名称。

    4. 如果已经有其他人在基于被撤销的提交做进一步的修改并提交了,你可选择使用 `git push –force` 命令强制推送,但这将覆盖其他人的提交,谨慎使用该命令,避免导致代码丢失或产生冲突。

    以上就是撤回已发推送的步骤,请确保在执行这些操作之前做好备份,并与团队成员一起协商决定。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要撤回已经推送(push)到远程仓库的提交,有几种方法可以实现。以下是几种常用的方法:

    1. 使用git revert命令撤销提交:这种方法会在撤销的提交之后创建一个新的提交。使用命令`git revert `,其中``为要撤销的提交的SHA值。这将创建一个新的提交,其中包含了撤销了修改的更改。然后使用`git push`将新的提交推送到远程仓库。

    2. 使用git reset命令撤销提交:这种方法会移动HEAD和分支指针,并删除指定提交之后的所有提交。使用命令`git reset `,其中``为要撤销的提交的SHA值。根据需要选择相应的reset选项。然后使用`git push –force`将本地仓库强制推送到远程仓库。

    3. 使用git revert命令撤销多个提交:如果要撤销多个提交,可以使用`git revert`命令逐个撤销每个提交。使用命令`git log`查看要回滚的提交的SHA值,然后使用`git revert …`依次撤销每个提交,其中` …`为要撤销的提交的SHA值。最后使用`git push`将新的提交推送到远程仓库。

    4. 使用git cherry-pick命令撤销提交:如果只想撤销某个提交中的部分更改,可以使用`git cherry-pick -n`命令将指定提交的更改应用到当前分支上。然后使用适当的命令和编辑器撤销要恢复的更改,然后使用`git commit`命令创建新的提交。最后使用`git push`将新的提交推送到远程仓库。

    5. 使用git reflog命令撤销提交:使用`git reflog`命令查看历史操作日志,找到要撤销的提交的SHA值。然后使用`git revert`或`git reset`命令根据需要撤销提交。最后使用`git push`将新的提交推送到远程仓库。

    无论使用哪种方法,都要谨慎操作,确保在执行之前备份重要的数据。同时,要确保和团队成员(如果有的话)协商和沟通,以免造成冲突和数据丢失。

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

    撤回已经推送到远程仓库的 git 提交是一个敏感操作,因为它会改变远程仓库的历史记录。所以在执行该操作前,请确保你了解该操作可能带来的影响,并且你对仓库的管理权限足够。

    下面是两种撤回已发的推送的常见方法。

    ## 方法一:使用 git revert

    1. 首先,在本地仓库使用以下命令来查看已推送的提交记录:
    “`shell
    git log
    “`
    2. 找到你要撤销的提交的哈希值,复制它。

    3. 然后,使用以下命令来撤销该提交:
    “`shell
    git revert
    “`
    其中,`
    ` 是你要撤销的提交的哈希值。

    4. Git 会自动打开一个文本编辑器,让你编辑撤销提交的信息。你可以保留默认的提交信息或者自己编辑。

    5. 提交撤销的更改:
    “`shell
    git commit
    “`

    6. 最后,推送到远程仓库:
    “`shell
    git push origin
    “`
    其中,`
    ` 是你要推送的分支的名称。

    ## 方法二:使用 git reset

    这种方法会覆盖远程仓库的提交历史,请确保你已经备份了远程仓库的数据。

    1. 首先,在本地仓库使用以下命令来查看已推送的提交记录:
    “`shell
    git log
    “`
    2. 找到你要撤销的提交的哈希值,复制它。

    3. 然后,使用以下命令来回滚到该提交之前的状态:
    “`shell
    git reset –hard
    “`
    其中,`
    ` 是你要撤销的提交的哈希值。

    4. 最后,强制推送到远程仓库:
    “`shell
    git push origin –force
    “`
    注意,这里使用了 `–force` 选项,因为你要覆盖远程仓库的提交历史。

    请注意,在使用这两种方法撤回已推送的提交时,要确保你是仓库的拥有者或者有足够的权限进行操作。并且,在执行撤回操作之前,最好先与团队成员进行协商,以免产生不必要的冲突和困惑。

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

400-800-1024

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

分享本页
返回顶部