一、git rm –cached (这种方法不常用)

  • 从暂存区撤回XXX文件
git rm --cached XXX -r
  • 从暂存区撤回所有(不管你是第几次提交,是否提交到历史区)
git rm --cached XXX -r

二、git checkout(一旦回滚,工作区内容无法恢复)
- 把暂存区内容撤回工作区(适用场景:假设创建了1.txt,然后提交到了暂存区,然后我对1.txt进行了修改,此时还没到暂存区,但此时我想要回到修改之前的内容),撤回后,可以拿cat查看一下。

git checkout .

三、现在我们遇到另一个问题题:假设创建了1.txt,然后提交到了暂存区,然后我对1.txt进行了修改,此时提交1.txt到暂存区,那么我想回滚到上一个版本应该怎么做呢?

  • 在暂存区中,回滚到上一次暂存区中巨鹿的内容(暂存区先回滚一次)。
git reset HEAD .
  • 把最先暂存区的信息回滚到工作区。
git checkout .

四、每个区的代码比较 git diff(我们查看不同区域的代码的不同,通常基于可视化的页面来查看的)

  • 工作区VS暂存区
git diff
  • 工作区VS历史区
git diff master
  • 暂存区VS历史区
git diff --cached

五、历史区的版本回滚(最重要的),当我们回滚到某一个历史版本之后,暂存区和工作区的内容都将被这个版本内容所代替。

git reset --hard 版本号 //版本号通过git reflog去查看

六、把历史操作步骤输出。利用如下命令,然后打开history.txt文件,里面记录了所有的操作。

history > history.txt
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐