Git大前端开发

为什么有时候git checkout不生效? git reset

2017-12-06  本文已影响14人  link_hui

遇到的问题

完成编码之后,我们通常要将代码提交到远程git仓库。

git stash
git pull
git stash pop

这个时候,git会自动merge当前改动,出现冲突的时候要修改,但是project文件的冲突通常比较讨厌。合并的的也会有问题。就想取消本地修改,重新拉远程版本。

git checkout  xxxx.proj

but, 这个时候却不起作用。尝试git add 进去再checkout,还是不行。
这个时候就要用到git reset、再git checout

git reset HEAD xxx.proj
git checkout xxx.proj

看看git reset、git checkout、git revert的区别

git reset HEAD file  // 将file文件的缓冲区和指定的commit(这里是HEAD)同步,改动移到工作区(默认是--mixed参数)
git reset --hard HEAD // 慎用,会将缓冲区和工作区都同步到HEAD,丢失当前修改

git checkout HEAD~2 xxx.proj //将工作目录中的 foo.py 同步到了倒数第二个提交中的xxx.proj
git reset HEAD // 将最后一个提交修改回滚,并产生一个新的提交来撤销修改。

参考

代码回滚:Reset、Checkout、Revert-的选择

上一篇下一篇

猜你喜欢

热点阅读