精华内容
下载资源
问答
  • 当我们git commit完之后,还没有执行git push,想修改/撤销这个commit,怎么办? 1、如果只是想修改注释,可以这样操作 git commit --amend 这个时候进入vim编辑,直接修改即可,修改完注释,退出vim编辑 :wq保存已...

    当我们写完代码后,我们一般都是

    git add . // 添加所有文件
    git commit - m “xxxxxx”
    当我们git commit完之后,还没有执行git push,想修改/撤销这个commit,怎么办?

    1、如果只是想修改注释,可以这样操作

    git commit --amend
    这个时候进入vim编辑,直接修改即可,修改完注释,退出vim编辑
    :wq保存已编辑的注释,重新git push即可

    2、要撤回commit

    git reset --soft HEAD^
    这样就能成功的撤回你刚刚的commit操作。

    HEAD^的意思是上一个版本,也可以写成HEAD~1
    如果你进行了2次commit,想都撤回,可以使用HEAD~2
    注意,这个命令仅仅是撤回commit操作,写的代码仍然保留

    拓展:

    –mixed
    意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

    –soft
    不删除工作空间改动代码,撤销commit,不撤销git add .

    –hard
    删除工作空间改动代码,撤销commit,撤销git add .
    注意完成这个操作后,会删除工作空间代码!!!恢复到上一次的commit状态。慎重!!!

    展开全文
  • Git撤销提交commit

    千次阅读 2020-07-15 17:50:12
    这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送。 1.撤销提交信息 首先,通过git log -n 3 --stat查看最近三次的提交信息,以便获取需要回退至的版本号: $ ...
          有时,在git push之后,才发现还有一些代码需要进行很小的改动,这些改动在原则上不应该作为一次新的提交。 
      这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送。
    

    1.撤销提交信息

    首先,通过git log -n 3 --stat查看最近三次的提交信息,以便获取需要回退至的版本号:

    $ git log -n 3 --stat
    commit 4589cee66d69aa6de1a4e8e0b21dd1a392e89823 (HEAD -> master, origin/master)
    Author: Fuyj <2312696405@qq.com>
    Date:   Wed Jul 15 16:58:22 2020 +0800
    
        关注作者完成
    
    commit a54d5553ef92679779b0287af61130fb4479f08f
    Author: Fuyj <2312696405@qq.com>
    Date:   Wed Jul 15 16:05:31 2020 +0800
    
        详情页面完成
    
    commit 3c21b32406a688f72031b2b1f6e37f7c31a83a0e
    Author: Fuyj <2312696405@qq.com>
    Date:   Wed Jul 15 14:40:04 2020 +0800
    
        修复前端传值问题,增添点赞,收藏文章功能
    ~
    
    

    我们需要撤销关注作者完成这次提交,所以需要回退至的版本是详情页面完成,即需要回退至的版本号是:a54d5553ef92679779b0287af61130fb4479f08f

    2.然后,通过git reset --soft <版本号>重置至指定版本的提交,达到撤销提交的目的:

    $ git reset --soft a54d5553ef92679779b0287af61130fb4479f08f
    

    参数soft指的是:保留当前工作区,以便重新提交
    还可以选择参数hard,会撤销相应工作区的修改,一定要谨慎使用

    然后,通过git log确认是否成功撤销:

    $ git reset --soft a54d5553ef92679779b0287af61130fb4479f08f
    $ git log
    commit a54d5553ef92679779b0287af61130fb4479f08f (HEAD -> master)
    Author: Fuyj <2312696405@qq.com>
    Date:   Wed Jul 15 16:05:31 2020 +0800
    
        详情页面完成
    
    commit 3c21b32406a688f72031b2b1f6e37f7c31a83a0e
    Author: Fuyj <2312696405@qq.com>
    Date:   Wed Jul 15 14:40:04 2020 +0800
    
        修复前端传值问题,增添点赞,收藏文章功能
    
    commit e4a2f8c9e4f2d4f68b63b07e6e400a2448543ea5
    Author: Fuyj <2312696405@qq.com>
    
    

    这时候已经成功撤销

    3.通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的:

    $ git push origin master --force
    Total 0 (delta 0), reused 0 (delta 0)
    To github.com:LBJFYJ232323/imooc-news-fyj.git
     + 4589cee...a54d555 master -> master (forced update)
    
    

    4.修改代码,重新提交至远程库

    $ git add .
    warning: LF will be replaced by CRLF in components/like/like.vue.
    The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in components/list-card/list-card.vue.
    The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in components/list/list.vue.
    The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in pages/home-detail/home-detail.vue.
    The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in pages/tabbar/follow/follow.vue.
    The file will have its original line endings in your working directory
    
    $ git commit -m "关注文章完成"
    [master 835e8f8] 关注文章完成
     10 files changed, 168 insertions(+), 15 deletions(-)
     create mode 100644 cloudfunctions-aliyun/get_follow/get_follow.param.json
     create mode 100644 cloudfunctions-aliyun/get_follow/index.js
    
    $ git push origin master
    
    

    至此我们已经修改完成
    本文均为原创,如有侵权,请联系删除。

    展开全文
  • git撤销提交(commit)

    千次阅读 2019-04-19 08:46:20
    我们知道Git有三大区(工作区、暂存区、版本库)...git reset命令是git中重置命令,即用来撤销某次提交(commit)。首先,我们得了解,git reset可以帮我们重置哪些内容: 1、修改本地仓库中commit对象(快照) 如下图:...

    我们知道Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited)

    一、简介

    Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照。

    git reset命令是git中重置命令,即用来撤销某次提交(commit)。首先,我们得了解,git reset可以帮我们重置哪些内容:

    1、修改本地仓库中commit对象(快照)

    如下图:

    此时本地仓库对应的是commit4,git reset 可以让本地仓库对应的指针变为commit3或是commit1等之前的版本,当然,也可以变为commit4之后的某个commit,如commit5。 Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 备注:当使用git reset命令时候,一般会修改本地仓库。

    其常用格式如下:

    • 用法一:git reset [-q] [] [--] ...
    • 用法二:git reset [--soft | --mixed | --hard | --merge | --keep ] [-q] [commit]

    二、参数

    参数说明 (git log和git reflog可查看commitId,commitId是快照的唯一标识)

    • --hard commitId 修改本地仓库、暂存区、工作区里面的数据为commitId对应快照的内数据

    • --mixed commitId 修改本地仓库、暂存区里面的数据为commitId对应快照里的数据,是git reset默认的参数,--mixed可缺省。 暂存区的数据会被快照中的数据覆盖

    这种情况是工作区没有,但暂存区有,所以提示修改未在暂存区(D表示delete)

    • --soft commitId 修改本地仓库里面的数据为commitId对应快照的数据。(仅改变指向快照的指针指向)

    当git reset 后面的commitId为当前提交的commitId时,即HEAD(可缺省)。那么:

    参数说明

    • --hard HEAD 修改暂存区、工作区里面的内容为当前快照里的内容。(这个很危险,曾经踩过坑,电脑的文件丢失了很多,也是导致我决心好好学一学git的原因,慎用)
    • --mixed HEAD 修改暂存区里面的内容为当前快照里的内容,是git reset默认的参数,因此可缺省。
    • --soft HEAD 本地仓库、暂存区、工作区都不改变 |

    我们需要注意,使用git reset重置一般是很危险的,会彻底地丢掉历史。因为如果没有记录下重置前的commitId,一般不容易找回,除非分析.git/logs里面的日志,故重置需慎重。

    git diff只对已被追踪的文件起作用,即已git add过,在暂存区有的

    git commit -a -m只对已被追踪的文件起作用,

    展开全文
  • git撤销已经提交到远程的commit信息

    千次阅读 2020-05-11 10:11:30
    通过git log查看提交信息,以便获取需要回退至的版本号 jokerLover@JokerLover MINGW64 /e/CodeTest (master) $ git log commit 4a60c5e1c22c67dbdb85db2235cd5b090fb8f6d0 (HEAD -> master, origin/master) ...
    • 需要撤回最后一次得提交记录-“需要撤回得提交记录”

         如下图所示:

    • 通过git log查看提交信息,以便获取需要回退至的版本号
    
    jokerLover@JokerLover MINGW64 /e/CodeTest (master)
    $ git log
    commit 4a60c5e1c22c67dbdb85db2235cd5b090fb8f6d0 (HEAD -> master, origin/master)
    Author: XXX
    Date:   Mon May 11 09:53:22 2020 +0800
    
        需要撤回得提交记录
    
    commit 03b2c5e3ff42efe9e14542a012099ac36930ea57
    Author: XXX
    Date:   Mon Nov 12 16:35:18 2018 +0800
    
        first
    
    commit d56a6d9c03a9014f0bdc9337ece1a4483b294b06
    Author: XXX
    Date:   Mon Nov 12 16:32:19 2018 +0800
    
        Initial commit
    

    我们需要撤销" 需要撤回得提交记录"这次提交,所以需要回退至的版本是"first",即需要回退至的版本号是:03b2c5e3ff42efe9e14542a012099ac36930ea57。

    • 通过git reset –soft <版本号>重置至指定版本的提交,达到撤销提交的目的:
    $ git reset --soft 03b2c5e3ff42efe9e14542a012099ac36930ea57
    • 通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的:
    $ git push origin master --force
    Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
    To http://172.1.4.32:3000/shengj.chen/CodeTest.git
     + 4a60c5e...03b2c5e master -> master (forced update)
    

    再次通过 git log 查看

    jokerLover@JokerLover MINGW64 /e/CodeTest (master)
    $ git log
    commit 03b2c5e3ff42efe9e14542a012099ac36930ea57 (HEAD -> master, origin/master)
    Author:XXX
    Date:   Mon Nov 12 16:35:18 2018 +0800
    
        first
    
    commit d56a6d9c03a9014f0bdc9337ece1a4483b294b06
    Author:XXX
    Date:   Mon Nov 12 16:32:19 2018 +0800
    
        Initial commit
    

    远程仓库网页查看:

    显而易见,已经没有之前的提交记录了。

    • 修改代码,重新提交和推送
    //修改代码,添加修改
    git add .
    //重新提交
    git commit -m "重新提交新的修改内容"
    //重新推送
    git push origin master
    

    如下图所示:

    远程仓库网页查看:

    显而易见,已经有刚提交记录了。

    展开全文
  • 改完bug准备下班,突然发现提交的代码本地编译不过。为了不被骂,马上就将提交的东西abonden掉。 具体情况: ... 不删除工作空间的改动代码 ,撤销commit,不撤销git add file --hard 删除工
  • 主要介绍了git如何撤销commit的方法(未push),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Git撤销已经推送(push)至远端仓库的提交(commit)信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1、未使用 git add 缓存代码,需要放弃本地修改 // 放弃单个文件修改,注意不要忘记中间的"--",不写就成了检出分支了! git checkout -- filepathname // 放弃所有的文件修改 git checkout . 2、已使用git add 缓存...
  • git 撤销上次commit提交

    千次阅读 2020-05-27 18:25:48
    1.git reset --soft head~1 (撤销上一次commit, 不会撤销git add) 2.git reset head~ (撤销上一次commit, 同时撤销git add) 3.git reset --hard head~1 (这个会直接撤销上次commit同时会撤销改动的代码 --(不建议...
  • HEAD~1 代表撤销最近一次本地提交
  • git撤销已经提交的代码 配合sourcetree可视化工具使用口感更好哟~~~~ 1. 已经在本地commit,但是还没有push到远程仓库 可以看到代码已经commit但是还未push到远程仓库 选择上次的提交历史,这个时候复制最后一...
  • 2.撤销到上一个commit,但是保存当前的修改。 commitgit reset --soft <commit> commitgit reset --soft8ba74b1b9baf1194f1af6f9ca075c999ee3b586c 3.修改成功。重建分支,进行提交。 笔记: 1.查看...
  • 1、先获取服务器最新的版本历史 git fetch origin 2、再把你的当前分支指向他 git reset --hard origin/master
  • 今天在修复一个Bug时太慌了,导致没有把所有的相关模块的引用处理干净就直接提交commit并push到远端,随后发现有问题,如果再次提交的话这个log感觉不是很爽,最后还是决定撤回合并提交。 第一步 查找出问题的上一...
  • 撸了好多代码,但是突然设计改了(~~o(>_<)o ~~);或者引入个第三方库,后来又...需要撤销的内容文件属于未跟踪的状态。如下命令产生的场景: mkdir git-tmp cd git-tmp git init echo '第1次输入的内容' >...
  • 简介: 已经git commit一次提交,但是想撤销commit这次提交,且保留代码不变 文章目录本博文的简述or解决问题?同步博文:问题背景:解决方法:关于参数:顺便说一下,如果commit注释写错了,只是想改一下注释,只...
  • 第一步 查看提交的日志 git log 第二步 撤销提交commit的id(注意必须撤销到某个版本的id) git reset --hard <commit_id> 第三步 git push origin HEAD --force
  • git reset <版本号> --hard 然后推送到远端 git push origin <分支> 这里会提示错误,本地的版本落后于远端的版本,所以要加上--force git push origin <分支> --force 但是如果别的人很快...
  • 我们在使用 git 时,有时会一不小心就点击了 commit,那么如何插销本次提交呢?...不删除工作空间改动代码,撤销 commit,不撤销 git add . git reset --soft HEAD~1 表示撤销最后一次的 commit ,1 可以...
  • git撤销某次commit

    万次阅读 2019-06-10 16:43:21
    如果要撤销第二条记录,使用命令:git rebase -i commit_id(第二条命令之前的id) 然后再vim编辑器中将第二次lianx的pick改为drop之后保存 然后发现第二次和第二次之后的提交内容都不见了,和git res...
  • Git撤销已经推送(push)至远端仓库的提交(commit)信息

    万次阅读 多人点赞 2018-03-04 12:11:19
    有关修改提交(git commit)信息的方法可以参考: ...这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送。 为了实现这个目的,需要进行三步操作。 1.撤销提交信息...
  • 如何撤销 git commit

    2021-07-20 17:51:27
    如何撤销 git commit 写完代码后,我们一般这样 git add . git commit -m “msg” 执行完commit后,想撤回commit,怎么办? git reset --soft HEAD^ (ps:如果控制台出现More?,则将命令改成 **git reset --soft ...
  • 虽然自觉是一个Git工具的老手了,但是平时犯了一点错误,就发现有点捉襟见肘了。就好像今天我把一些代码玩坏了,想撤回到前几个版本去(此时已经push到远程分支),但是仔细一想:卧槽...1.4.1 获取第一次提交commit
  • Git撤销本地commit

    万次阅读 2019-07-02 14:05:52
    问题:在mster分支写了半天,然后git commit 提交了 ,才发现 在masrter分支开发的。 解决: git reset HEAD~ HEAD 代表:上一次提交 这样 刚刚提交的就又回到本地的local changes 列表中。 nice 继续 切换分支,...
  • 对于已经push到服务器的commit信息,如果push的文件有误或者多/漏提交文件时,可以进行以下操作进行恢复1.先回退到前一个版本 git log选择回退的版本号,然后,通过git reset –soft <版本号>重置至指定版本...
  • 注意:此方法会把想要回到的 commitId 之后的 所有提交 都删除掉(慎用) ...git push --force // 强制推送,想要回到的 commitId 之后的 所有提交 都将被删除 git stash pop //未提交的修改 回归到文件 ...
  • Git 撤销push的commit操作

    千次阅读 2019-05-17 14:06:13
    我在Git提交了错误的文件。我该如何撤销那一次commit呢? 原问题地址: How do I undo the most recent local commits in Git? 解决办法: $ git commit -m "Something terribly misguided" (1) $ git reset HEAD~...
  • 开发中我们有时候会不经意点到pull或者add或者commit等操作,那我们怎么退回呢?很简单只有两步,请看过来: 1.先输入(git reflog)命令 列出记录,命令正确会显示如下图: 2.接下来可以看到有很多记录,如下图...
  • git commit失误第一步:先看日志第二步:撤销第 N 步:若仅仅只是修改提交后的日志 第一步:先看日志 命令:git log --pretty=oneline> 命令拓展: git log --pretty=oneline git log --pretty=short git log -...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,860
精华内容 13,544
关键字:

git撤销已经提交的commit