1. 程式人生 > >Git的簡單使用教程(1)

Git的簡單使用教程(1)

一、安裝Git

這裡介紹的是windows下安裝Git,官方下載地址:https://git-for-windows.github.io/,但是會比較慢。建議在各大資源網站上下載Git客戶端。
下載好以後找到Git安裝目錄->“Git Bash”,出現類似Dos的命令視窗,說明Git安裝成功。

二、建立reposity版本倉庫

建立倉庫之前,應該需要以下的設定,在命令列輸入:

 git config --global user.name "Your Name"
 git config --global user.email "Your email"

Your name與Your email是用來標誌使用者的,就好比你使用Git分散式版本控制系統前,應該要確定你的身份資訊,才能進行屬於你自己的操作。

接下來在進入你想要建立倉庫的本地目錄
。我的是:E/Git,隨後在命令列中輸入:

mkdir reposity
git init
ls -ah
  • 建立倉庫目錄reposity
  • git init命令將reposity目錄變為Git可以管理的倉庫
  • ls -ah顯示隱藏的.git檔案:說明已經建立成功,這是Git用來跟蹤管理倉庫的。

這裡寫圖片描述
這裡寫圖片描述

三、上傳檔案

1、通常我們都使用兩個命令即可完成檔案上傳

git add <file>
git commit -m"description"
  • git add <file>命令:把檔案新增到倉庫
  • git commit -m
    命令:把檔案提交到倉庫

建立git.txt檔案,其中內容為

This is a git!

如下圖所示:
這裡寫圖片描述

2、更新上傳檔案:git最重要的一個功能就是可以上傳修改後的檔案,還可以檢視你對檔案修改了什麼內容,修改的日誌等等
下面我們對git.txt增加句子

This is git!
git is free Sottware!

之後利用命令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: git.txt

這裡寫圖片描述

git status命令可以讓我們時刻掌握倉庫的狀態,截圖中的內容告訴我們get.txt被修改過,但是還未提交修改之後的版本
當然我們還可以看到具體修改了什麼內容,這時候就要用命令git diff,可以看到對git.txt做了何種修改。

接下來再利用命令 git add git.txtgit commit -m更新git.txt。
git status檢視狀態
這裡寫圖片描述

3、檢視檔案日誌,回退版本

到目前為止我們有兩個版本

版本1:
This is git!
版本2:
This is git!
git is free Sottware!

通過命令git log檢視不同的版本資訊。
這裡寫圖片描述
其中一長串字數表示Git的commit id版本號,Git是按照由近及遠的順序儲存版本日誌的。
當前的版本為HEAD,下一個版本為HEAD^,再下一個版本為HEAD^^^…….第100個就為HEAD~100,這裡的HEAD為指標,用來快速回退版本的。

接下來是回退版本,輸入命令git reset --hard HEAD^回退到之前的版本:

$ git reset --hard HEAD^
HEAD is now at 87bee2d I commit a read file

但是你會發現,當回退回第一個版本時,第二個版本不見了,此時可以利用commit id版本號,縮寫的就可以,回退到之前的第二個版本,這裡是在命令視窗還未關閉的前提下。

這裡寫圖片描述
當命令視窗關閉之後,你還是想回退到第二個版本,此時也有辦法挽回的。使用命令git relog找到回退的那個版本的commit id版本號。
這裡寫圖片描述

四、管理修改與刪除檔案

1、理解工作區與版本庫

如下圖所示:
這裡寫圖片描述

  • 工作區:就是我們編輯檔案,處理資料的地方。
  • Stage暫存區:是從工作區把檔案add暫時儲存的地方,最後一起commit到master分支。可以將它比喻為購物車,我們先瀏覽商品操作商品之後加入到購物車裡,最後一次性結算到master中。
  • master分支:Git自動建立第一個分支master,以及指向mster分支的一個HEAD指標。

2、Git內部流程

(1)我們第一步是是將工作區的檔案git add新增到stage暫存區。
這裡寫圖片描述

(2)第二步是git commit提交修改,就是將stage暫存區中修改檔案提交到當前master分支
這裡寫圖片描述

2、例項理解修改管理

通過對工作區與版本庫的理解之後,我們可以做如下的例項來加深認識。

(1)對git.txt修改新增內容為第一版本。

This is git!
git is free Sottware!
This is version 1.0!

這裡寫圖片描述
(2)然後git add git.txt)新增到暫存區。
(3)之後對git.txt再修改為第二個版本

This is git!
git is free Sottware!
This is version 1.0!
This is version 2.0!

這裡寫圖片描述

(3)最後git commit到當前分支master
(4)之後git status檢視狀態
這裡寫圖片描述
version2.0版本沒有被commit提交。

總結:Git最厲害的功能之一就是對修改的管理,並不是管理檔案。
如果我們按照這樣的順序進行操作:
第一個版本->git add->第二個版本->git commit
而不是第一個版本->git add->第二個版本->git add->git commit 你會發現第二個版本沒有被提交。

此時就可以知道我們add到stage中的只有第一個版本,解決辦法有兩個:

  • 可以繼續git addgit commit
    第一個版本->git add->第二個版本->git commit->git add->git commit
    這裡寫圖片描述
  • 也可以第二個版本修改結束之後,再git addgit commit
  • 第一個版本->git add->第二個版本-> git add->git commit

3、刪除檔案
(1)輸入一下命令

$ git add test.txt
$ git commit -m"test"
[master 3bb0b46] test
 1 files changed, 1 insertions(+)
 create mode 100644 test.txt

(2)在工作區中把檔案手動刪除或者輸入以下命令

$ rm test.txt

這時git會發現工作區與倉庫中是不一樣的,輸入命令git status就可以知道哪些檔案被刪除
這裡寫圖片描述

(3)恢復刪除檔案

  • 如果要保持工作區與倉庫一致,那麼也要刪除版本庫當中的test.txt檔案,之後才提交到分支
    這裡寫圖片描述

  • 如果是因為誤操作刪除了test.txt檔案,則需要從版本庫中恢復回來,實則就是用版本庫中的test.txt版本替換工作區中的版本,都可以一鍵還原

git checkout --test.txt

這裡寫圖片描述
但是如果刪除了版本庫中test.txt版本就沒法恢復
這裡寫圖片描述

(4)git checkout --f ilegit reset區別
這裡寫圖片描述

這裡git checkout -- file是從版本倉庫中暫存區stage恢復到工作區,而git restet回退恢復版本。