当前位置:   article > 正文

git操作(二)

git操作(二)

之前我们对于git已经有了一定的了解,现在我们学习一些关于git的新内容。

一.修改⽂件

首先,我们先来认识一个命令:

  1. git status
  2. //⽤于查看在你上次提交之后是否有对⽂件进⾏再次修改,注意指的是仓库和工作区对比

关于三区的内容,上一篇文章已经讲过了,这里我们就简单介绍下:

工作区:是指自己编写内容的位置

暂存区:是指将工作区内容通过git add暂时保存的位置

版本区:即本地仓库位置

接下来我们再来认识几个新的命令:

  1. git diff [file];
  2. //表示显⽰暂存区和⼯作区⽂件的差异
  3. git diff HEAD -- [file];
  4. //命令来查看版本库和⼯作区⽂件的区别
  5. git log
  6. //表示查看日志

通过上面的指令,我们就可以简单查看三区的对比信息了。

二.版本回退

Git能够管理⽂件的历史版本,这也是版本控制器重要的能⼒,现在我想要曾经写过的某个版本。怎么办?
 

  1. git reset --soft +HEAD;
  2. //参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本
  3. git reset --mixed +HEAD;
  4. //为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变
  5. git reset --hard +HEAD;
  6. //参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命
  7. //令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重

补充知识:

HEAD 说明:
可直接写成commit id,表⽰指定退回的版本
HEAD表⽰当前版本
HEAD^上⼀个版本
HEAD^^上上⼀个版本

可以使⽤〜数字表⽰:
HEAD~0表⽰当前版本
HEAD~1上⼀个版本
HEAD~2上上⼀个版本

 

重点:

  1. git reflog;
  2. //该命令⽤来记录本地的每⼀次命令

该命令可能可以补救下自己的某次错误操作。

  1. git --version;
  2. //查看git版本

三.撤销修改

情况⼀:对于⼯作区的代码,还没有 add:

对于该情况,我们当然可以直接删除想去掉的内容即可,但是如果内容过多,还是要学习常规操作的。

  1. git checkout -- [file];
  2. //注意:命令中的-- 很重要,切记不要省略,⼀旦省略,该命令就变为其他意思。
  3. //该命令表示恢复到上⼀次 add 或 commit
  4. //实际上只改变工作区


情况⼆:已经 add ,但没有 commit:
操作如下:

  1. git reset --mixed HEAD [file];
  2. git reset --hard HEAD [file];
  3. //回到了情况一
  4. git checkout -- [file];

情况三:已经 add ,并且也 commit 了:

该部分比较特殊:

这是有条件的,就是你还没有把⾃⼰的本地版本库推送到远程,否则,是不行的。
 

  1. git reset --hard HEAD^ [file];
  2. //
  3. git checkout --[file];

四.删除⽂件

在Git中,删除也是⼀个修改操作.

git删除有两种可能:
1.确实要从版本库中删除该⽂件

git rm file;

将⽂件从暂存区和⼯作区中删除,并且commit.

2.不⼩⼼删错了
对第⼆种情况,很明显误删,需要使⽤ git 来进⾏恢复

操作如下:

  1. //该操作其实其实就是回退操作
  2. //等同于情况二
  3. git reset --mixed HEAD [file];
  4. git checkout --file;


 

最后,bye!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/120220
推荐阅读
相关标签
  

闽ICP备14008679号