Git命令行使用教程02

来源:互联网 发布:midi电脑音乐制作软件 编辑:程序博客网 时间:2024/05/21 14:52

1. 删除文件 git rm <file name>

如果你已经提交过了一个 read.md文件,现在想删掉它,即可以使用

git rm read.md

,然后再使用

git commit –m “remove the read.md file”

就可以完成删除。

那如果是修改了文件名嘞,把read.md修改为readme.md。那么只需要在上面的两步中间插一步

git add readme.md

即可。

2. 版本间的切换

这里就是git很重要的功能了,在不同的提交版本之间切换,随心所欲。在此之前,介绍一个指针——HEAD
这里写图片描述
HEAD指向的主分支master,而master指向最近提交的版本。进行版本间的切换有以下两种方式:

2.1 使用HEAD指针

由于HEAD指向的是当前版本,所以用HEAD^代表上一个版本,HEAD^^代表上上个版本,HEAD^3可以代表上上上个版本。命令为:

git reset HEAD^

2.2 使用版本的ID号

在使用git log指令以后,就可以看到历次提交的版本号。比如我的已经完成了四次提交:

git log --pretty=oneline

这里写图片描述

结果如上。我想回到 add readme file这个版本的话就可以用下面指令:

git reset 3abe6

当然这种加版本号的方式不仅可以后退也可以前进!

2.3 git reset命令的参数–hard|–mixed|–soft
用法如下:

git reset --hard HEAD^ git reset --mixed HEAD^git reset --soft HEAD^

由于缺省的时候使用的就是–mixed参数,所以其可以省略。
以上三个参数的区别如下:

  • git reset --hard HEAD^:将HEAD^版本的内容覆盖暂存区和工作区,并且将HEAD指针指向HEAD^版本。可见使用–hard参数十分残暴,如果你的工作区或是暂存区有东西没保存,你也找不回来了!!
  • git reset --mixed HEAD^:将HEAD^版本的内容覆盖暂存区,并且将HEAD指针指向HEAD^版本。
  • git reset --soft HEAD^:只将HEAD指针指向HEAD^版本。这就是软!!

2.4 忘记了版本号又想回到未来的版本怎么办?

这是git reset的最后一个问题,真的。如果你傻逼地关掉了git,你就被困在了过去吗?不是的,git早就知道我们这些傻逼的行为。

git reflog

可以查看以前的版本转换命令,如下。
这里写图片描述

从这里你可以找到以前提交的版本的ID号,再回去就可以了。

3. git checkout –将暂存区的文件覆盖工作区

git checkout后面如果不加文件名的话这是一条分支操作语句,不过如果加了文件名,作用如标题。

4. git diff 查看不同

git diff的用法很多,在这里只记录几种常用的用法:

git diff:比较工作区与暂存区之间内容的不同,不加参数。

git diff cashed:比较暂存区与最近一次提交的区别。

git diff :比较工作区与某一次提交之间的区别,如果是比较与最近一次的区别,则=HEAD即可。

git diff :比较两个版本之间的区别

0 0
原创粉丝点击