git杂谈

来源:互联网 发布:wap论坛源码 编辑:程序博客网 时间:2024/05/01 08:49

1. 关于Stage

暂存区就像购物车,没到付款的时候你都不确定购物车里的东西全部都是要的。。。每拿一件商品就付一次款。。。那才麻烦大了


当多个文件修改完成放入暂存区的时候,发现其中一个文件的代码有问题,这时候你可以用checkout单独将这个文件还原重改;如果你将这些文件一次性全部放进库里,等你发现有问题时就不能单独拿出一个文件了,只能版本回档,那时你就要重新修改所有文件的代码。


2. 关于修改

场景1:当你只是改乱了工作区某个文件的内容,想直接丢弃工作区的修改时(也就是还没有git  add),用命令git checkout -- file

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时(已经add,但还没有commit),想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库(已经commit,但还没有push): git reset --hard commit_number

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。




0 0
原创粉丝点击