0


Git【撤销远程提交记录】

在实际开发中,你是否遇到过错误的提交了代码,想要删掉本次提交记录的情况,你可以按照如下方法实现。
**1、使用
git revert

**

     如果你想要保留历史记录,并且对远程仓库其他使用者的影响最小,你可以使用 
git revert

命令。这个命令会创建一个新的提交,这个新提交是对之前提交的逆向操作。例如,要撤销最近的一次提交,你可以执行:

git revert HEAD 
git push origin main
    这里 
main

是你的目标分支,根据实际情况可能需要替换。

**2、使用
git reset(推荐)

**

    如果你需要从历史记录中完全删除某次提交,可以使用 
git reset

。注意,这种方法会重写历史,可能会给其他协作者带来问题。如果确定要这么做,可以按照以下步骤操作:

根据自己的实际情况选择 reset 的三种模式:
  • **git reset --soft**:保留工作目录和暂存区的更改,只重置提交指针

  • **git reset --mixed**:保留工作目录的更改,清除暂存区

  • **git reset --hard**:丢弃所有更改

    如果你想本地仓库和远程仓库都不保留你本次 commit 的代码:

git reset --hard HEAD~1 
git push origin main --force
    这里 
HEAD~1

将 HEAD 移回到前一次提交,

--hard

选项会使工作目录中的文件状态与仓库同步。

--force

选项用于强制推送到远程仓库,这会覆盖远程仓库中的历史。

如果你想保留本地仓库的代码(以便再次编辑),只撤销远程仓库的 commit:

git reset --mixed HEAD~1 
git push origin main --force
**3、使用
git push --force-with-lease

**:

    如果你需要强制推送,但又想确保不会覆盖其他协作者的工作,可以使用 
--force-with-lease

选项。这个选项比

--force

更安全,它会在推送前检查远程分支的状态是否发生了改变。

git reset --hard HEAD~1 
git push --force-with-lease origin main
标签: git

本文转载自: https://blog.csdn.net/weixin_61791370/article/details/140491107
版权归原作者 起风的秋天@ 所有, 如有侵权,请联系我们删除。

“Git【撤销远程提交记录】”的评论:

还没有评论