zoukankan      html  css  js  c++  java
  • Git学习笔记

    git 使用安装教程学习笔记


    Create by Dec 14,2016 
    

    安装git

    git for windows 安装网址:https://git-for-windows.github.io
    网盘地址:[git 2.11.0 64bit][]
    [git 2.11.0 64bit]:http://pan.baidu.com/s/1dEHcerf
    按照默认的选项进行安装即可
    安装完成后,在开始菜单中找到Git-> Git Bash
    安装完成后,进行设置用户名和email

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    创建版本库

    创建版本库:init

    $ cd Desktop/gitdemo
    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo
    $ git init
    Initialized empty Git repository in C:/Users/WYF/Desktop/gitdemo/.git/
    

    添加文件到版本库:git add

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git add learnGit.mdown
    

    提交版本库: git commit -m "commit message"

    添加至版本库中后,使用git commit -m "add Your Message" 引号内部分是附加的版本说明

    WYF@WYF-PC MINGW64 ~/DesktoGIT/gitdemo (master)
    $ git commit -m "Create a version to learn git"
    
    [master (root-commit) 8604f8c] Create a version to learn git
    1 file changed, 14 insertions(+) 
    create mode 100644 learnGit.mdown
    

    返回的信息说明1个文件发生了改变,共有14行的内容插入了进来

    Git文件状态查看

    查看版本库文件修改状态 git status

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ 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:   learnGit.mdown
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    

    查看本地版本与提交版本的不同: git diff

    $ git diff gittest.txt
    diff --git a/gittest.txt b/gittest.txt
    index 88c801c..d06b512 100644
    --- a/gittest.txt
    +++ b/gittest.txt
    @@ -1 +1,2 @@
     hello git
    +look for differences
     No newline at end of file
    
    

    通过后面跟着要对比的文件名称可以对比明确的文件。

    git的版本回退

    查看版本日志:git log

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git log
    
    commit 0f83cd0c90718769d32f16a8edeeadb1c3cd59e2
    Author: WangYiFan <MaFeng_2008@outlook.com>
    Date:   Wed Dec 14 20:45:02 2016 +0800
    
        Add Content about commit
    
    commit 5db28c30c0f2870412bde47581747e90e89b9540
    Author: WangYiFan <MaFeng_2008@outlook.com>
    Date:   Wed Dec 14 20:40:23 2016 +0800
    
        Add new Message
    
    commit 8604f8c67b8e4335d783c64d494fac0e989d7a66
    Author: WangYiFan <MaFeng_2008@outlook.com>
    Date:   Wed Dec 14 20:10:28 2016 +0800
    
        Create a version to learn git
    
    

    利用--pretty=oneline的参数可以实现日志中每条信息只占一行,效果如下

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git log --pretty=oneline
    
    0f83cd0c90718769d32f16a8edeeadb1c3cd59e2 Add Content about commit
    5db28c30c0f2870412bde47581747e90e89b9540 Add new Message
    8604f8c67b8e4335d783c64d494fac0e989d7a66 Create a version to learn git
    
    

    回退版本:git reset

    回到上一个版本:git reset --hard HEAD^
    回到上上个版本:git reset --hard HEAD^^
    回到前面N个版本:git reset --hard HEAD~N
    回退到指定的版本: git reset --hard [<Commit Number>]

    也可以先通过git log查看版本库,然后利用git reset --hard 5Db2通过指定版本号来进行版本的回退。版本号不用写全,写前面几位能够让git定位到唯一的版本记录就可以了

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git reset --hard 8604
    HEAD is now at 8604f8c Create a version to learn git
    

    查看版本回退的日志:git reflog

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git reflog
    8604f8c HEAD@{0}: reset: moving to 8604
    5db28c3 HEAD@{1}: reset: moving to 5db2
    8604f8c HEAD@{2}: reset: moving to 8604
    5db28c3 HEAD@{3}: reset: moving to HEAD^
    0f83cd0 HEAD@{4}: commit: Add Content about commit
    5db28c3 HEAD@{5}: commit: Add new Message
    8604f8c HEAD@{6}: commit (initial): Create a version to learn git
    

    这里可以看到,版本回退的状态,从而找到未来的版本号(在这里对于我来说是“0f83”)
    然后通过git reset --hard 0f83就能顺利的到达未来的版本。

    WYF@WYF-PC MINGW64 ~/Desktop/gitdemo (master)
    $ git reset --hard 0f83
    HEAD is now at 0f83cd0 Add Content about commit
    
    
  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/MaFeng0213/p/6180988.html
Copyright © 2011-2022 走看看