git 撤销推送

作者: 宝塔山上的猫 | 来源:发表于2019-06-30 12:13 被阅读0次

使用 git 的时候经常会出现一个问题,那就是不小心提交了一个错误的版本,这个时候该怎么办呢?那当然是撤销了,那该怎么撤销呢?

提交未推送到远程仓库撤回

如果你已经添加文件,并且已经提交了,命令如下:

git add .
git commit -m "change something"

这个时候一切都还在自己的电脑中,一切都很好修改。这时通过查找结点,然后倒退回去就可以了,如下:

$ git log
commit 36e4a4a744... (HEAD -> dev)
Author: a <abc@gmail.com>
Date:   Sun Jun 30 11:44:50 2019 +0800

    change readme

commit 69e996ed43ded...
Author: a <abc@gmail.com>
Date:   Sun Jun 30 10:55:06 2019 +0800

    change jvmargs

commit 9572301...
Author: a <abc@gmail.com>
Date:   Fri Jun 28 00:31:53 2019 +0800

    添加资源文件

加入我们要倒退回中间的结点,也就是 change jvmargs 这个结点,那么输入以下命令:

git reset --soft 69e996ed43ded...

这样我们就把推送的东西倒退回来了,这时就可以重新修改再提交了。

注意事项

倒退有两种方法:

git reset --soft 
git reset --hard

但是请注意,使用 --soft 的话,仅仅只是把提交信息给倒退回来。但使用 --hard 的话,会把版本信息也倒退回来的。

以上面的提交日志为例:

  1. 原本项目中有一个 hello.txt 文件,然后你在 change readme 那个提交中增加了一个 world.txt 文件,并且修改了 hello.txt 内容
  2. 然后提交后发现提交时的注释不对不对,于是撤回修改
  3. 这时使用 git reset --hard 69e996ed43ded 命令
  4. 结果发现 hello.txt 修改的内容没有了,world.txt 文件也不见了

当然,如果使用 git reset --soft 则不会

使用 --hard 惨痛案例 https://www.cnblogs.com/hope-markup/p/6683522.html

提交并推送远程仓库撤回

如果已经推送了远程仓库,前几步还是如上面所说的一致。就是推送的时候要添加 -f 来强制更新,清除前面的推送信息,如下:

#如强制撤销并推送至 master 主分支
git push -f
# 或者使用
git push origin master --force

#如强制撤销并推送至 dev 开发分支
git push -f --set-upstream origin dev

Git的4个阶段的撤销更改
http://www.cocoachina.com/articles/21453

手把手带你玩git之各种撤销
https://www.jianshu.com/p/8c22572b84bb

相关文章

  • git 撤销推送

    使用 git 的时候经常会出现一个问题,那就是不小心提交了一个错误的版本,这个时候该怎么办呢?那当然是撤销了,那该...

  • git常用操作

    Git撤销已经推送(push)至远端仓库的提交(commit)信息 git reset --soft commit...

  • git push 错误撤销推送

    前言我们在使用Git进行版本控制时,有可能会出现这种情况。git push后发现提交的内容不是想要的,这时候我们怎...

  • git 推送的时候产生冲突了怎么办

    git 推送的时候产生冲突了怎么办?那就需要撤销已提交的内容: git reset origin/dev然后拉取最...

  • git 常用操作回顾

    撤销add git reset HEAD 撤销commit git reset --soft HEAD^ 仅撤销c...

  • git 撤销 与 push 单个文件 与 push文件夹

    git 撤销 与 push 单个文件 撤销: git reset --soft HEAD^ 这样就成功的撤销了你的...

  • 1223

    git 撤销和删除 撤销工作区的修改:撤销某个文件的工作区修改:git checkout [--] filepat...

  • Git 常用命令

    撤销 查看log git log找到要撤销的commit id 撤销后并还原文件git reset --hard ...

  • git撤销本地的commit

    1、在本地commit之后,Git push到远端分支之前 2、如果不想推送到远端,撤销本地的commit操作 g...

  • Git版本回退

    git 撤销commit 撤销修改http://www.trinea.cn/dev-tools/git-skill/

网友评论

    本文标题:git 撤销推送

    本文链接:https://www.haomeiwen.com/subject/tezvcctx.html