学习Git第二天 - Git的好处指令(一)

2017-02-14  本文已影响0人  甜甜的清风啊

学习是很费力的,费力不讨好的事情谁都不愿意干,那么为什么我们要来学习这个Git呢?前面我用了我亲身经历的两家事情简单介绍了Git可以带来的好处。现在我们就来具体学习一下Git的那些指令给我们带来了怎样的好处。

git status

$ git status
# On branch master // 文件处于master分支上
# Changes not staged for commit: // 文件有修改,但是没有放入暂存区,为了提交可以:
#   (use "git add <file>..." to update what will be committed) // 使用 git add <file> 将文件放进暂存区
#   (use "git checkout -- <file>..." to discard changes in working directory) // 丢弃工作目录的修改,即是使用git checkout -- <file>这个命令是将这个文件恢复(hui fu)成未修改的状态
#
#    modified:   readme.txt // 修改了: readme.txt文件
#
no changes added to commit (use "git add" and/or "git commit -a") //没有提交修改过的文件,即是这些文件只是在你这份修改了,仓库里的还是原来的那一份(使用“git add”或者“git commit -a”)

git diff

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt // diff: difference区别,显示的格式正是Unix通用的diff格式
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system. // 这句话被修改了,是修改前的状态,前面有个-号标志
+Git is a distributed version control system. // 这句话是修改后的状态,添加了一个“distributed”单词。前面有个+号标志
 Git is free software.

git log

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0 //commit id,唯一标识符,很有用的。可以全用,也可以用前七位
Author: Michael Liao <askxuefeng@gmail.com> // 作者,也就是完成这次工作的人。
Date:   Tue Aug 20 15:11:49 2013 +0800 // 完成日期与时间

    append GPL  // 工作描述,也就是你commit的时候后面添加的描述内容

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Tue Aug 20 14:53:12 2013 +0800

    add distributed

commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Mon Aug 19 17:51:55 2013 +0800

    wrote a readme file

git reset

$ git reset --hard HEAD^ // 在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
HEAD is now at ea34578 add distributed // 当前版本为ea34578这个版本,也就是文件处于刚刚完成这个操作时候的状态,以后的操作全部都被撤消了。

git reflog

这个指令是打印出你所有的提交日志信息,你可以通过这些信息把文件修改为其中任何一个时候的状态。

上一篇下一篇

猜你喜欢

热点阅读