git-reset - Reset current HEAD to the specified state 1. 意思就是可以让HEAD这个指针指向其他的地方。例如我们有一次commit不是不是很满意,需要回到上一次的Commit里面。那么这个时候就需要通过reset,把HEAD指针指向上一次的commit的点。 它有三种模式,soft,mixed,hard,具体的使用方法下面这张图,展示的很全面了。
第一种方法,使用的就是git reset原理。 第二种方法,先将head指向commitid,之后,再将branch指定到head
记住git reset不会产生commits,它仅仅更新一个branch(branch本身就是一个指向一个commit的指针)指向另外一个commit(Head和branch Tip同时移动保持一致).其他的仅剩对于index和work tree(working directory)有什么影响。git checkout xxxCommit则只影响HEAD,如果xxxCommit和一个branch tip是一致的话,则HEAD和branch相匹配,...
解决方法1:修改错误内容,再次commit一次 解决方法2:使用git reset 命令撤销这一次错误的commit 第一种...
git reset HEAD build.sh 回滚后工作区会保留该文件的改动,可重新编辑再提交,或者 git checkout -- 文件名 彻底丢弃修改。 回滚场景:已 commit,但还没有 push 时 即已经提交到本地代码库了,不过还没有 push 到远端。这时候可用 git reset 命令,命令格式为: ...
git reset–hard 重置head指向commit、重置索引区、工作区,如果本地做了变更,add或者没add,最后不想要了,那么就用这种方式。 总结 这3种模式用联想记忆法,比如soft是软的意思,是最软的,重置head指向commit,索引区、工作区都保留;mixed是混合的,那就是中等喽,所以重置索引区,保留工作区;hard是最硬的,重置索引区...
git reset --hard HEAD^ 你的HEAD和当前branch切到上一条commit的同时,你工作目录里的新改动和已经add到stage区的新改动也一起全都消失了: git status reset --hard head^之后 可以看到,在reset --hard后,所有的改动都被擦掉了。 reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区 ...
# 1. 回退到上次提交$ git reset HEAD^ # 2. 修改代码... # 3. 加入暂存$ git add . # 4. 重新提交$ git commit -m'fix: ***' 针对这个流程,git 还提供了一个更便捷的方法: git commit --amend 这个命令会直接修改当前的提交信息。如果代码有更改,先执行 git add,然后再执行这个命令,比上述的...
说revert,不得不跟 git reset 进行对比。reset 的含义是“回滚到某次 commit”。 2.1 Git reset 原理 git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一: image.png 2.2 Git reset 操作 ...
即不删除工作区改动代码,撤销commit,并且撤销git add .这个是默认参数。 代码语言:javascript 复制 git reset--mixedHEAD^// ===git resetHEAD^ --hard 删除工作区改动代码,撤销commit,撤销git add .注意完成这个操作后,就恢复到了上一次的commit状态,从指定的 `<commit> 往后,工作树中的任何变化都会被丢弃。