git 回溯commit

2018-03-29  本文已影响0人  jump_go
git reset --hard xxx
git reset --soft xxx
git revert xxx

以上三个命令行的区别

first thinkin

  1. 命令 git resetgit revert命令行是将working directory和staging area 区块之间的状态回溯
  2. 即,当使用了 git add ./后将所有的更改文件缓存到staging area 后发现自己文件更改错误,还是需要之前一个版本的代码状态
  3. git resetgit revert都是将缓存区的代码状态更改到之前版本,不同的是git reset是回到之前的版本代码.git文件中是不会
    记载当时git add ./文件后的git流程节点
  4. git revert是保留git add ./后增加的流程节点,再增加一次流程节点到之前的版本的代码状态

search answer

不带参数和属性的 git reset 的确是缓存区和working directory之间的代码回溯状况,
but 带参数和属性的git reset 就没有这么简单了。

git log可以查看git commit的节点名称 还可以用HEAD来指向当前分支的节点
git reset HEAD^ --hard HARD^是指之前的一个分支

以--hard属性为例子的操作
而后面--hard--softmixed是代表代码回溯到某个commit节点后的作用域
--soft ––  缓存区和工作目录都不会被改变
--mixed ––  默认选项。缓存区和你指定的提交同步,但工作目录不受影响
--hard ––  缓存区和工作目录都同步到你指定的提交

上一篇下一篇

猜你喜欢

热点阅读