zoukankan      html  css  js  c++  java
  • 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 有了进一步的认识了吧,那还不赶紧自己动手试试!!!这里我想说下,本人的帖子都很短,并不是不想写这么多,而是觉得写的多了,一些读者看了后面就忘记前面的内容了,索性每次写一点点,然后读者看了后就去自己练习一下,会提升很大,毕竟真正的实践才会有所帮助。不多说了,洗碗去了!!!加油!!!

  • 相关阅读:
    简版一致性hash算法实现
    js类型转换问题
    VIVADO 2017.4配置MIG IP注意事项
    工作笔记2
    工作笔记1
    spring5 + hibernate5(redisson二级缓存) + JPA + JTA + ActiveMQ(JMS)
    spring data jpa 缓存(hibernate)
    JPA @Temporal
    C++ RTTI
    二叉树遍历方法总结
  • 原文地址:https://www.cnblogs.com/brother-four/p/6486910.html
Copyright © 2011-2022 走看看