So the reset command itself is pretty simple, but it’s the parameters that cause confusion. The main parameters aresoft,hardandmixed. These tell Git what to do with your index and working copy when performing the reset. Soft The--soft参数只告诉Git将其他的commit重置到HEAD,就仅此而已。index...
# 5.使用git reflog查看历史版本记录L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git reflog4399da4 (HEAD -> master) HEAD@{0}: commit: 第5次提交,append v4 again!f4da0ae HEAD@{1}: reset: moving to HEAD^2c4401f HEAD@{2}: commit: 第4次提交,新增内容:readme.txt...
1、 git reset xx [file](等于git reset --mix ,mix可省略) 还原版本,移动HEAD到指定得位置,比如有A-B-C(HEAD)分支,现在在C提交,如果执行git reset B,则代表把HEAD移动到B,同时如果用git status命令查看,会发现之前提交到C得东西都变成了未提交状态,并且还未add到暂存区。 使用场景:比如我提交后,发现某...
git reset HEAD~1 1. 当我们再执行上面的命令时(HEAD~1是“the commit right before HEAD”的别名,或者说:put differently "HEAD's parent"),我们的分支将会如下所示 如果我们执行git reset HEAD~2,则意味着将HEAD从顶端的commit往下移动两个更早的commit。 Parameters soft --soft参数告诉Git重置HEAD到另外一...
git commit 之后就是HEAD。如果代码修改了之后进行git add 操作,然后git commit,那么所有三者(HEAD,INDEX(STAGING),WORKING COPY)都是相同的状态,内容相同。 二、reset soft(更改HEAD)(恢复git commit的操作) 软重置。本来origin的HEAD和本地的HEAD一样,如果你指定--soft参数,Git只是单纯的把本地HEAD更改到你指定...
如果我们执行git reset HEAD~2,则意味着将HEAD从顶端的commit往下移动两个更早的commit。 (六) Parameters soft --soft参数告诉Git重置HEAD到另外一个commit,但也到此为止。如果你指定--soft参数,Git将停止在那里而什么也不会根本变化。这意味着index,working copy都不会做任何变化,所有的在original HEAD和你重置...
使用git reset --soft HEAD^命令来重置分支指针,并修改提交信息: $ git reset --soft HEAD^ 这个命令将当前分支指向上一次提交,也就是Fix bug,但是不会删除任何修改。此时,可以使用git commit --amend命令来修改提交信息: $ git commit -m "举头望明月" ...
git reset --soft HEAD^命令实现了版本的回撤,错误版本在日志上找不到了,但回撤版本并不影响暂存区和工作区的状态 git reset --hard HEAD^命令实现了版本的回撤,错误版本在日志上也找不到了,但是回撤版本后,工作区和暂存区清零了,这一点要注意。
reset 命令的原理是根据 commitId 来恢复版本。 因为每次提交都会生成一个 commitId,所以说 reset 可以帮你恢复到历史的任何一个版本。 这里的版本和提交是一个意思,一个 commitId 就是一个版本 命令格式如下: git reset [--soft | --mixed | --hard] [HEAD] ...
原因猜想: 想要撤销的commit都是第一次的commit,此时使用git reset --soft HEAD^命令就会报错。因此,推测可能是第一次commit的原因,导致命令无法执行。 解决方法:可以使用git update-ref -d HEAD命令来实现想要的效果。尝试过后,发现commit被成功撤销,仍然保留了add后的结果。