Getting Started

  1. 设置存储库
  2. git diff(比较差异)
  3. 撤销
    1. 吃后悔药
    2. 删除
    3. 回到过去
  4. 查看暂存区和HEAD中的目录

设置存储库

Git的三个配置文件分别是版本库级别的配置文件(该项目目录下)、全局配置文件(用户主目录下)、系统级配置文件(/etc目录下)。其中版本库级别的配置文件优先级最高。

按照优先级高低依次为:

$ git config -e 
$ git config -e --global
$ git config -e --system  

执行以上命令会打开相应的git配置文件。

git diff(比较差异)

工作区(当前工作目录下的文件)、提交暂存区(已经git add 的文件)、版本库中的文件。

例如:
当前目录下有一个welcome.txt文件

在工作区的内容为:

hello
nice to meet you
byebye

在提交暂存区的内容为:

hello
nice to meet you

在版本库中的内容为:

hello

也就是说welcome.txt有三个不同的版本,一个在工作区,一个在等待提交的暂存区,还有一个是版本库中最新版本的welcome.txt。通过调用不同的git diff命令可以看到不同状态下的welcome.txt文件的差异。

1. 显示工作区(1号库)与提交暂存区(2号库)中文件的差异
$ git diff 

2. 显示工作区(1号库)与当前版本库(3号库)中文件的差异
$ git diff HEAD

3. 显示提交暂存区(2号库)与版本库中(3号库)文件的差异(--cached或--staged)
$ git diff --cached

撤销

吃后悔药

依照暂存区(2号库)welcome.txt重置工作区(1号库)welcome.txt文件

$ git checkout -- welcome.txt

#执行 git diff 通过状态输出可以看到工作区与暂存区已经没有改动了。

#!!如果git checkout HEAD则会依照版本库重置暂存区和工作区(极具危险性)

依照版本库(3号库)重置暂存区(2号库),但工作区不受影响(1号库)

$ git reset HEAD

直接从暂存区(2号库)删除文件,工作区(1号库)不受影响

# 假如不小心把.idea目录保存到了暂存区,则可以
$ git rm -r --cached .idea

回到commit之前

$ git commit -m "添加element-ui"
# 比如说我提交时commit信息想改一下
$ git reset --soft HEAD^
# 然后再次提交
$ git commit -m "添加element-ui和axios"

回到某个提交节点ID,重置为ID的版本库、暂存区、工作区

$ git reset --hard ID

# 如果我想删除上一次的版本库历史
$ git reset --hard HEAD^
$ git push --force

删除

显示会删除当前目录下的未跟踪的文件(Untracked)或目录

$ git clean -dn

删除未跟踪的文件

$ git clean -f <path> (默认为当前目录)

删除未跟踪的文件和目录

$ git clean -dn

回到过去

# 查看历史
$ git log --oneline

# 回到某个历史节点
$ git checkout NODE_ID

# 回到某个提交节点,重置版本库、暂存区、工作区
$ git reset --hard HEAD^(ID)

# 相当于undo操作,但是该提交任然存在历史当中
$ git revert HEAD

查看暂存区和HEAD中的目录

有什么办法能够查看工作区一样直观地查看暂存区和HEAD中的目录树吗?

# 查看HEAD目录树
$ git ls-tree -l HEAD

# 查看暂存区目录树
$ git ls-files -s

小技巧:

  1. 首先清除工作区当前的改动
    $ git clean -fd
  2. 用暂存区内容刷新工作区
    $ git checkout .

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 876208453@qq.com

文章标题:Getting Started

本文作者:Cai Jun

发布时间:2019-02-15, 21:01:28

最后更新:2019-07-20, 04:57:18

原始链接:http://johncaijun.github.io/2019-02-16-Getting-Started/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏