Git學習收穫(一)

寫在前面:本系列均學習受教於廖雪峯前輩,基於windows系統; https://www.liaoxuefeng.com/git

  Git是一種先進的分佈式版本控制系統。(聽說是世界最早進)windows

  版本控制:簡單說就是——持續記錄你的更改記錄,便於留底。同時支持與他人協同工做。編輯器

記得整理一個摻雜我的使用習慣的Git命令總結。分佈式

 

 

1、Git學習收穫——第一次  學習

  1. 下載安裝Git  https://git-scm.com/downloads
  2. 啓動Git Bush ->命令行窗口模式;
  3. 自報家門(用戶名、地址);
    $ git config --global user.name "FRONG"
    $ git config --global user.email "fanrongnb@126.com"

     

  4. 建立一個版本庫/倉庫 repository     
    $ mkdir learngit
    $ cd learngit
    $ pwd
    /Users/michael/learngit

    注:pwd用於顯示當前目錄;網站

    $ git init
    Initialized empty Git repository in /Users/michael/learngit/.git/

    注:git init 做用:Create an empty Git repository or reinitialize an existing one,新建一個倉儲或重構一個倉儲。編碼

  5. 將一個文件添加到倉庫。git add
    $ git add README.txt
     注:千萬不要使用Windows的記事本編輯任何文本文件。緣由是Microsoft開發記事本的團隊使用了一個很是弱智的行爲來保存UTF-8編碼的文件。使用Notepad++編輯器並設置字符UTF-8(默認)。
  6. 將文件提交到倉庫。    git commit   
    $ git commit -m"change the word"
    [master bcd2599] changegege
     1 file changed, 2 insertions(+), 1 deletion(-)
    //後面輸入的是本次提交的說明,能夠輸入任意內容,固然最好是有意義的,這樣你就能從歷史記錄裏方便地找到改動記錄。烈建議每次使用commit提交時,都使用-m附加說明。-m
    經過如下的說明,能夠更深入理解add 和 commit 操做。                                                               工做區(working directory),就是在電腦裏能看到的目錄,好比learngit文件夾就是一個工做區。                                                                                                                                                            版本庫(Repository)--  Git的版本庫裏存了不少東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲咱們自動建立的第一個分支master,以及指向master的一個指針叫HEAD                                         
  7. 備註:爲何Git添加文件須要addcommit一共兩步呢?由於commit能夠一次提交不少文件,因此你能夠屢次add不一樣的文件。   

    第一步,用 git add 把文件添加進去,實際上就是把文件修改添加到暫存區;spa

    第二步,用 git commit 提交更改,實際上就是把暫存區的全部內容提交到當前分支。命令行

    $ git add file1.txt
    $ git add file2.txt 
    $ git commit -m"add 2 files."
  8. 獲取倉庫當前狀態。git status命令可讓咱們時刻掌握倉庫當前的狀態。

    基本操做,包括如下狀況:版本控制

    $ 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:   README.txt
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    //當文件被修改以後,還未使用add操做,未進入stage時的狀況
    $ git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD <file>..." to unstage)
    #
    #       modified:   README.txt
    //當文件進入stage,但未提交到master
    $ git status
    On branch master
    nothing to commit, working directory clean
    //工做目錄空,無需操做

     

  9. 然Git告訴咱們readme.txt被修改了,但若是能看看具體修改了什麼內容,天然是很好的。 須要用 git diff 這個命令看看修改的地方。

  

   

 阮一峯對git的見解

相關文章
相關標籤/搜索