Git-01-安裝及基本操做 14/100

Git簡介

  Git(全局信息追蹤器)。   Git是一個分佈式版本控制工具,Git的使用中倉倉庫不是必須的,用戶本地就是一個完整的版本倉庫,代碼的前進、回退、刪除等等操做均可以直接在本地進行,不須要中央倉庫。可是,在實際操做中,爲了可以和其餘同事快速溝通以及合併代碼,通常仍是會搭建一箇中央倉庫。Git對分支的管理很是友好,能夠快速建立或者合併分支。   Svn集中式的版本控制工具,Svn中,必需要有中央倉庫,全部的版本信息都保存在中央倉庫中,代碼的前進、回退、刪除等等操做都須要在中央倉庫中進行,用戶本地保存的只是版本倉庫的一個副本,Svn中的分支很是臃腫。git

Git Windows下安裝

1.官網下載

git官網windows

安裝

雙擊安裝、一直默認安裝就能夠了分佈式

安裝成功

安裝後在開始中會出來git的相關菜單 在這裏插入圖片描述工具

同時鼠標右鍵也有git的相關菜單選項 在這裏插入圖片描述編碼

配置我的信息

安裝成功咱們還要進行我的信息的設置 在這裏插入圖片描述 輸入以下命令:版本控制

git config --global user.name "pengs"
git config --global user.email  "694835275@qq.com "

建立文件夾

在這裏插入圖片描述 也能夠到指定的文件夾下面右擊 在這裏插入圖片描述指針

初始化操做

  經過git init命令把這個目錄變成Git能夠管理的倉庫,建立成功後在該文件夾下會多出一個.git的文件夾。日誌

git init

在這裏插入圖片描述   Git目錄是用來來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了。code

基本操做

添加文件到版本庫

<font color="red">注意</font> 在window系統中,編輯文件不要使用記事本操做,由於在操做中文的時候會有問題,推薦用Notpad++,可是編碼方式得設置下。 在這裏插入圖片描述blog

建立一個普通文件

在這裏插入圖片描述 在這裏插入圖片描述

執行==git add== 命令添加到倉庫

 執行上面的命令,沒有任何顯示,這就對了,Unix的哲學是「沒有消息就是好消息」,說明添加成功

$ git commit -m "第一次提交"
[master (root-commit) d3e411b] 第一次提交
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

    commit -m的-m後面跟的是本次操做的備註說明信息。最好是有意義的,也就是下次看到這個說明就清楚提交了什麼內容。

      爲何Git添加文件須要add,commit一共兩步呢?由於commit能夠一次提交不少文件,因此你能夠屢次add不一樣的文件

status和diff命令

|命令| 說明| |--|--| |git status |查看當前庫的狀態 | |git diff | 是difference的簡寫是用來查看文件的變化的 (工做區和版本庫) |

正常狀態下執行兩個命令

在這裏插入圖片描述 在這裏插入圖片描述

對hello.txt文件進行修改

hello git
hello git pszzzz

執行status命令

注意: 沒有執行git add命令

$ 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:   hello.txt

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

狀態信息告訴咱們read.txt文件被修改了,可是尚未被提交

執行diff命令查看不一樣

$ git diff
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
diff --git a/hello.txt b/hello.txt
index 7b5bbd9..4f59ef0 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-hello Git
+hello Git pszzzz

 經過此命令咱們可以看到增長的是 hello git 2這行信息,知道了對readme.txt做了什麼修改後,再把它提交到倉庫就放心多了,提交修改和提交新文件是同樣的兩步 git status告訴咱們,將要被提交的修改包括readme.txt,下一步,就能夠放心地提交了

Git告訴咱們當前沒有須要提交的修改,並且,工做目錄是乾淨(working tree clean)的

| 命令|說明 | |--|--| | git status | 查看當前庫的狀態,add以前和commit以前均可以查看狀態 | | git diff 文件名| 查看文件修改先後的變化,在add命令以前執行 |

版本回退

log命令

剛剛咱們對hello.txt文件執行兩次操做,咱們還能記得住咱們作了什麼操做,可是當咱們操做了一段時間後,修改的愈來愈多,那麼咱們就會忘記不少之前的操做。這時咱們能夠經過log命令來查看歷史信息

$ git log hello.txt
commit c0dfa343063650dfc07ed264345ee342a64a4fd7 (HEAD -> master)
Author: ps <694835275@qq.com>
Date:   Sun May 12 10:13:39 2019 +0800

    修改了hello內容

commit d3e411ba30e27624eb60a72eb0e256651cce0094
Author: ps <694835275@qq.com>
Date:   Sun May 12 09:31:24 2019 +0800

    第一次提交

git log命令顯示從最近到最遠的提交日誌,每條日誌信息佔了五行記錄,若是日誌比較多的狀況下。咱們能夠在命令後添加 ==–pretty=oneline==單行來顯示日誌信息

$ git log --pretty=oneline
c0dfa343063650dfc07ed264345ee342a64a4fd7 (HEAD -> master) 修改了hello內容
746eedfaa33033add248c2ec01a2d5da25a53816 第二次提交文件
d3e411ba30e27624eb60a72eb0e256651cce0094 第一次提交

==提示==‘d3e411ba…’這一長串的信息既是==版本號==

版本回退

回退到上一個版本

git reset --hard HEAD^

回到指定版本

git reset --hard a1d1909f5

a1d1909f5版本號 首先咱們發現信息被咱們找回來了,其次‘a1d1909f5’是最新版本的版本號,雖然不全,可是前幾位要正確,git會自動匹配   Git的版本回退速度很是快,由於Git在內部有個指向當前版本的HEAD指針,當你回退版本的時候,Git僅僅是把HEAD從指向first update file 在這裏插入圖片描述 回退後 在這裏插入圖片描述   版本回退其實就是指針的改變。有時候咱們想要回退到之前的最新版本,這時候log命令查看不到對應的版本號,在次場景下咱們能夠經過git reflog來查看

$ git reflog
c0dfa34 (HEAD -> master) HEAD@{0}: commit: 修改了hello內容
746eedf HEAD@{1}: commit: 第二次提交文件
d3e411b HEAD@{2}: commit (initial): 第一次提交

HEAD指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。 切換前,用git log能夠查看提交歷史,以便肯定要回退到哪一個版本。 要切換將來,用git reflog查看命令歷史,以便肯定要回到將來的哪一個版本

相關文章
相關標籤/搜索