Git推送后发现有错误如何撤回本地与远端代码服务器的提交记录

一、背景

        假设公司小钱提交代码,误将有错误或者可能存在bug的“不放心的”代码本地Commit提交后,直接Push推送到了远端代码仓库。那么,小钱想挽回这个错误,该如何解决呢。远端的代码提交能被成功撤回到正确版本吗?

        答案是:可以的。

        那么,假设小钱提交并推送了2次,第1次是正确的提交并推送,第2次是错误的。那么如何将2从本地提交重置,以及远端代码仓库撤回?
 

二、解决方法

 (1)使用git log命令,查看提交记录

(2) 使用git reset --soft “提交的版本号” 退回到最近一次正确的提交

        将本地提交撤回至第1次,那么对于坐在电脑面前你而言,可能是第N-1次,或N-2次,因为真实项目不可能只提交2次,我们只是为了演示。所以,对于你而言,假设第N次提交是错误的,你想退回到第N-1次。

(3)使用git log 验证一下是否成功退回

(4)使用 git push origin “分支号” --force

(5)查看远端代码仓库是否撤回了一次提交

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想撤回已经push到程的代码,可以使用以下命令: 1. 首先,使用git log命令查看你最近的提交记录,找到你想要撤回提交的commit id。 2. 然后,使用git revert命令撤回提交。例如,如果你想要撤回commit id为abc123的提交,可以使用以下命令: git revert abc123 3. 接下来,你需要将撤回提交push到程仓库。使用git push命令即可: git push origin master 注意,这里的master是你的分支名称,如果你使用的是其他分支,需要将其替换为对应的分支名称。 4. 最后,你需要将撤回提交程仓库。使用git push命令即可: git push origin master 注意,这里的master是你的分支名称,如果你使用的是其他分支,需要将其替换为对应的分支名称。 这样,你就成功地撤回了push到程仓库的代码。 ### 回答2: 在进行 Git 开发的过程中,我们常常会将本地的代码程仓库中,但有时候在之前可能会发现代码有误或不完整,此时就需要进行撤回操作。下面介绍两种方式实现撤回已经程的代码。 1. revert 操作 revert 操作可以撤回已经程的代码,但是它并不是直接删除该代码,而是将其视为一个新的提交,相当于在原有的提交中新增了一条反向提交信息,撤回这次提交的同时保留了原提交历史。撤回已经程的代码可以通过以下步骤实现: 1.1. 打开 Git Bash 终,并进入需要撤回代码的仓库目录。 1.2. 使用 git log 命令查看需要撤回代码提交记录。 1.3. 根据查看到的提交记录,使用 git revert SHA 命令进行回滚,其中 SHA 为需要撤回代码所在提交的标识符。 1.4. 在弹出的文本编辑器中输入撤回提交的信息。 1.5. 保存并退出编辑器,提交修改。 1.6. 使用 git push 将本地修改程仓库中。 2. reset 操作 reset 操作是将本地仓库回退到某一个版本,相当于是删除了不存在于指定版本之后的所有提交记录,不仅可以删除本地未代码,也可以撤回已经程的代码,但是要注意的是,这样操作会彻底删除历史提交的所有信息,因此如果不确定是否需要删除,建议使用 revert 操作。使用 reset 操作撤销已经程的代码可以通过以下步骤实现: 2.1. 打开 Git Bash 终,并进入需要撤回代码的仓库目录。 2.2. 使用 git log 命令查看需要撤回代码提交记录。 2.3. 根据查看到的提交记录,使用 git reset HEAD~X 命令将代码回退到指定版本,其中 X 为需要回退的版本号。 2.4. 使用 git push -f 命令强制修改,覆盖掉已经程的代码。需要注意的是,这么做有可能导致团队合作出现问题,因此在荐团队成员和管理员在进行此操作之前先进行充分的沟通和协商,避免操作错误对项目造成不好的影响。 总之,撤回已经程的代码可以使用 revert 或 reset 操作,但是要视情况而定,根据实际需要进行选择。同时,为了避免不必要的麻烦,建议使用 Git 之前学习好相关的操作指南,提高自己的代码管理能力。 ### 回答3: Git是一个非常流行的版本控制系统,常常用于协同工作、代码管理等方面。在Git中,push命令可以将本地代码库的修改程仓库。但有时候我们会发现自己不小心将错误代码提交到了程仓库,这时就需要撤回之前的提交Git的撤销操作主要有两种,分别是撤销本地的提交撤回程仓库的提交。 撤销本地的提交:如果你还没有将本地代码程仓库,那么可以通过以下命令撤销本地的提交: ``` git reset --soft HEAD^ ``` 该命令的意思是将HEAD指针指向上一次提交的父节点,并将本地的修改保留在工作区中,让你有机会修复之前的错误撤回程仓库的提交:如果你已经将代码到了程仓库,那么你需要使用撤销提交命令来撤回程仓库的提交: ``` git revert <commit-id> ``` 其中<commit-id>是需要撤销的提交的SHA-1哈希值。该命令会自动创建一个新的提交来撤销之前的提交,并将该提交程仓库。 总之,撤销Git上的提交是一项必要的技能。在进行任何提交之前,请仔细检查您的代码,以确保您不会意外地将错误代码程仓库。如果发生错误,适当使用Git的命令可以更好地管理代码库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值