git常用命令及执行结果解释

2018-12-30  本文已影响0人  风起长林时

大佬们都在使用命令行,作为菜鸟怎么能落后呢。但是英语又是在菜地抠脚,怎么办?一条条翻译呗。

一、git status

$ git status    //git status命令查看仓库的当前状态。以下是执行该命令后出现的结果之一。

//在git add之前使用该命令,会出现以下结果
On branch master    //显示当前所在分支(例如:此处显示当前分支为mater主分支)
Changes not staged for commit:    //在进行commit之前,有部分改变还没有加入暂存区,可以利用以下命令进行操作
  (use "git add <file>..." to update what will be committed)    //git add 文件名---将该文件先添加到暂存区
  (use "git checkout -- <file>..." to discard changes in working directory)    //git checkout --文件名---将文件移除

    modified:   readme.txt    //标明发生改变的文件名(或者文件列表)

no changes added to commit (use "git add" and/or "git commit -a")




//在git add之前使用该命令,如果有新文件添加到工作区,则会出现以下结果
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   readme.txt

Untracked files:    //从未添加过的文件列表(新增加的)
  (use "git add <file>..." to include in what will be committed)    //可以通过git add 该文件夹名 -----将文件添加到暂存区

    LICENSE

no changes added to commit (use "git add" and/or "git commit -a")





//在使用git add之后,使用该命令,会出现以下结果
On branch master    //显示当前所在分支(例如:此处显示当前分支为mater主分支)
Changes to be committed:    //已经做好commit准备
  (use "git reset HEAD <file>..." to unstage)    //可以通过git reset HEAD 文件名---将该文件移出堆栈

    modified:   readme.txt    //标明发生改变的文件名(或者文件列表)




//执行git commit后,使用该命令,会出现以下结果
On branch master    //显示当前所在分支(例如:此处显示当前分支为mater主分支)
nothing to commit, working tree clean    //没有任何需要commit的,工作目录已经清空

二、git diff

$ git diff readme.txt    //git diff 文件名---查看该文件修改了什么内容(以下结果暂时不太懂,稍后注释)

diff --git a/readme.txt b/readme.txt
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.
 Git is free software.

三、git commit

$ git commit -m "add distributed"    //git commit -m "本次提交的描述信息",以下是执行命令后的可能结果

[master e475afc] add distributed    //[master(当前所在分支) 版本号] 本次提交的描述信息
 1 file changed, 1 insertion(+), 1 deletion(-)    //1个文件改变,1行增加,1行删除

四、git log

$ git log    //git log 查看从最近到最远的提交日志

commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)    //commit提交的版本号 (HEAD -> 当前所在分支)
Author: Michael Liao <askxuefeng@gmail.com>    //该commit的作者
Date:   Fri May 18 21:06:15 2018 +0800    //该commit提交的时间

    append GPL        //该commit的描述

commit e475afc93c209a690c39c13a46716e8fa000c366
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 21:03:36 2018 +0800

    add distributed

commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 20:59:18 2018 +0800

    wrote a readme file

如果觉得上面打印的日志内容太多,可以加上--pretty=oneline

$ git log --pretty=oneline    //查看日志仅一行显示

1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL    //版本号 (HEAD -> 当前所在分支) 该commit的描述
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file

五、git reset

先通过git log找到自己需要回退的版本

//如果回退到距离最近比较近的版本,可以使用以下命令:
$ git reset --hard HEAD~1    //git reset --hard HEAD~回退数(从当前版本回退到上一个版本,则为1,回退上上个版本,则为2,以此类推)

HEAD is now at e475afc add distributed    //(回退成功) 当前所在版本号为 e475afc  该版本的commit描述
//如果回退的版本比较远,可以使用版本号进行回退操作:
$ git reset --hard 1094a    //git reset --hard 需要回退到的版本号

HEAD is now at 83b0afe append GPL    //(回退成功) 当前所在版本号为 83b0afe  该版本的commit描述

六、git reflog

如果回退了版本后,又后悔了,想要重新返回之前的版本怎么办?这个时候就要用到reflog,找到需要回退的版本号,然后执行上面的git reset操作就可以啦

$ git reflog    //git reflog查看命令操作历史

e475afc HEAD@{1}: reset: moving to HEAD^
1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
e475afc HEAD@{3}: commit: add distributed
eaadf4e HEAD@{4}: commit (initial): wrote a readme file
上一篇下一篇

猜你喜欢

热点阅读