Git撤销最后一次提交

Git可以使用reset重置来撤销提交。

方法一

撤销最后一次提交

git reset HEAD~1

执行后,状态重置为上一次提交,且撤回提交的文件的状态变回unstaged,即文件没有被git跟踪。

示例

$ git commit -m 'add test.html'
[master ade6d7e] add test.html
 1 file changed, 1 insertion(+)
 create mode 100644 test.html
$ git reset HEAD~1
$ git status
On branch master
Untracked files:
 (use "git add <file>..." to include in what will be committed)

    test.html

nothing added to commit but untracked files present (use "git add" to track)

撤回后test.html为Untracked files。

方法二

git reset --soft HEAD~1

使用--soft,执行后,状态重置为上一次提交,但撤回提交的文件add到git,被git跟踪。

示例

$ git commit -m 'add test.html'
[master 877b8f0] add test.html
 1 file changed, 1 insertion(+)
 create mode 100644 test.html

$ git reset --soft HEAD~1

clcaza@clcaza MINGW64 /d/webstormProjectsDemo/ngcli-demo (master)
$ git status
On branch master
Changes to be committed:
 (use "git reset HEAD <file>..." to unstage)

    new file: test.html

test.html状态为Changes to be committed

版权声明:著作权归作者所有。

相关推荐

合并多个git仓库,保留提交的历史记录

两个不同地址的库:https://127.0.0.1/mygroup/project1.git,分支devhttps://127.0.0.1/mygroup/project2.git,分支dev现在需要把这两个git仓库的dev分支合并到一个新的git仓库的dev分支:https://127.0.0.1/mygroup/allprojects.git按以下步骤操作:一、克隆allproject到本

git获取最新的tag

用于查找最近的taggit describe把--abbrev设为0, 该命令查找最近的tag名,不需要后缀:git describe --abbrev=0获取当前分支的taggit describe --abbrev=0 --tags 获取所有分支的taggit describe --tags `git rev-list --tags --max-count=1` 

JavaScript 点击事件只执行一次的方法

JavaScript要实现只允许Button被点击执行一次的办法有几种:方法一、在添加事件监听器时,设置选项once为true示例:<div id="btn0"> My button</div><script> function doSomething(v) { console.log(v); } document.getE

如何修改Git已提交的日志

在某些时候,你发现了之前提交到git上的日志描述不全或者描述有误,这时你是会想要修改它的。 但提交已经是push到服务器,甚至是已经有好几个提交在后面了,这个怎么办呢?Git提供了一些方法来修改。下面分为四种情况来处理。情况一:最后一次提交且未push执行以下命令:git commit --amend git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们

Git切换分支到指定的提交(commit)

Git要切换到指定的提交,先找出提交的commitIdGit查找commitId$git log commit cbcf45ec166eee4ca0ade2dc78f1445f7d39f0ab Author: xxx Date:  Wed Jan 24 11:29:34 2018 +0800 fix bug