git 学习之基本操作

  之前的帖子已经讲述了什么是 Git 的仓库,并且添加了文件到 Git 的仓库,这里我们来学习下一些简单的操作。

status 和 diff

   之前我们已经提交了了一个 testFile.txt 的文件,现在我们修改这个文件。我们往这个文件里面追加一行内容。使用 status 进行查看:

hubwiz@bad97b95201f:~/learngit$ git status                                       
# 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:   testFile.txt                                                 
#                                                                                
no changes added to commit (use "git add" and/or "git commit -a")                

  我们可以看到 status 命令告诉我们 testFile.txt 文件已经被修改,但是没有提交。

  我们这里使用  git diff 命令查看改动的内容:

hubwiz@bad97b95201f:~/learngit$ git diff                                         
diff --git a/testFile.txt b/testFile.txt                                         
index 5f1bf21..a70afd3 100644                                                    
--- a/testFile.txt                                                               
+++ b/testFile.txt                                                               
@@ -1 +1,2 @@                                                                    
 the first file for test git                                                     
+study status and diff command                                                   

  我们通过对比发现 testFile.txt 文件添加了一行 “study status and diff command“ 接下来用 git addgit commit 将文件添加并且提交。

hubwiz@bad97b95201f:~/learngit$ git add testFile.txt                             
hubwiz@bad97b95201f:~/learngit$ git commit -m "add status and diff command"      
[master cfd9766] add status and diff command                                     
 1 file changed, 1 insertion(+)

log

  到这里我们已经提交了两次了,我们如何查看提交的历史呢?可以使用 git log 命令。

hubwiz@bad97b95201f:~/learngit$ git log                                          
commit cfd976666ffd0067a1505eb7ee28303feb392f4d                                  
Author: Jeff.Ma <mywr1026@163.com>                                               
Date:   Wed Mar 1 14:57:51 2017 +0000                                            
                                                                                 
    add status and diff command                                                  
                                                                                 
commit 0de43c0a4040a129652b74214b638a1b6e62cad0                                  
Author: Jeff.Ma <mywr1026@163.com>                                               
Date:   Tue Feb 28 14:50:10 2017 +0000                                           
                                                                                 
    First commit the file for test Git                                           

  可以看到两次提交的信息都打印出来了,最新的提交是在最上面显示的。而其中的 commit 后面的内容就是版本号。

reset

  突然发现这次提交是不正确的,我们要回退到上个版本。可以使用 git reset --hard HEAD^

hubwiz@bad97b95201f:~/learngit$ git reset --hard HEAD^
HEAD is now at 0de43c0 First commit the file for test Git  

  这样我们就回退到上个版本了。我们可以使用 git reset --head <版本号> 回退到指定的版本

  当然凭借我们的记忆是无法记住每次的版本号的,那么怎么办?有人说可以使用 git log 查看,那么你可以试下,当你回退到上个版本的时候再使用 git log 将没有办法看到我们在学习 status 时候的改动了。那么怎么办呢? 这里我们可以使用 git relog 进行查看的。

hubwiz@bad97b95201f:~/learngit$ git reflog                                       
0de43c0 HEAD@{0}: reset: moving to HEAD^                                         
4ad0b03 HEAD@{1}: commit: add aaa                                                
0de43c0 HEAD@{2}: reset: moving to HEAD^                                         
cfd9766 HEAD@{3}: commit: add status and diff command                            
0de43c0 HEAD@{4}: commit (initial): First commit the file for test Git 

  到这里我想大家应该对 Git 有了进一步的认识了吧,那还不赶紧自己动手试试!!!这里我想说下,本人的帖子都很短,并不是不想写这么多,而是觉得写的多了,一些读者看了后面就忘记前面的内容了,索性每次写一点点,然后读者看了后就去自己练习一下,会提升很大,毕竟真正的实践才会有所帮助。不多说了,洗碗去了!!!加油!!!

原文地址:https://www.cnblogs.com/brother-four/p/6486910.html