1. 程式人生 > >程式碼工具:Git(本地)

程式碼工具:Git(本地)

0. 基礎

  • 系統

Windows7-64bit-旗艦版

  • Git

Git-2.19.1-64-bit

  • 時間

2018/11/13

1. Git概述

Git是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。Git 是 Linus Torvalds 為了幫助管理Linux 核心開發而開發的一個開放原始碼的版本控制軟體。Git 與常用的版本控制工具 CVS、Subversion 等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支援。Git 的工作就是建立和儲存你專案的快照及與之後的快照進行對比。

2. Windows平臺的Git安裝

  • 安裝包下載連結

  • 安裝

直接雙擊執行下載的【Git-2.19.1-64-bit.exe】,根據安裝嚮導進行安裝即可。

安裝完成之後,可以在開始選單裡找到"Git"->"Git Bash":Git 命令視窗和"Git GUI":圖形介面專案管理工具等。

3. Git基本操作

  • 開啟Git命令視窗

  • 建立並初始化Git倉庫

$ git init

Git 的很多命令都需要在 Git 倉庫中執行,所以 git init 是使用 Git 的第一個命令,在執行完成 git init 命令後,Git 倉庫會生成一個 .git 目錄,該目錄包含了資源的所有元資料。

  • 在專案目錄中隨便生成兩個檔案

  • 將專案檔案新增到緩衝區

$ git add 檔名

$ git add .

  • 將緩衝區內容提交到倉庫

1) Git 為每一個提交都記錄你的使用者名稱與電子郵箱地址,所以第一步需要配置使用者名稱和郵箱地址

$ git config --global user.name '使用者名稱'

$ git config --global user.email '郵箱地址'

2) 進行提交

$ git commit -m '提交註釋'

3) 直接跳過add命令進行提交

注:這種方式不再需要進行add命令將檔案先加入到緩衝區了,相當於add和commit -m的結合。

$ git commit -am '提交註釋'

  • 利用vi/vim編輯器進行檔案修改

1) 開啟vi/vim編輯器

$ vim README

2) 修改檔案

在 README 新增內容:【# 進行 Git 測試】,然後儲存退出。

3) 重新提交

  • 檢視檔案修改之後的區別

尚未快取的改動:git diff 檢視已快取的改動: git diff --cached 檢視已快取的與未快取的所有改動:git diff HEAD 顯示摘要而非整個 diff:git diff --stat

1) 修改檔案

在 hello.php 檔案中新增內容:【# 進行 Git 測試】,然後儲存關閉。

2) 檢視改動

  • 取消緩衝

1) 修改檔案

在 hello.php 檔案中新增內容:【# 進行 Git 測試2】,然後儲存關閉。

在README檔案中新增內容:【# 進行 Git 測試2】,然後儲存關閉。

2) 將修改後的兩個檔案都提交到快取區,然後取消其中一個的快取

3) 進行提交

可以發現,通過commit -m的方式提交只是提交了位於緩衝區的README而沒有提交不位於緩衝區的hello.php。

  • 刪除檔案

git rm 檔名                【直接從工作目錄中刪除檔案

git rm -f 檔名             【直接從工作目錄中刪除檔案,如果該檔案刪除之前修改過並且已經放到緩衝區

git rm --cached 檔名【將檔案從緩衝區刪除但仍保留在工作目錄中

git rm -r *                      如果後面跟的是一個目錄做為引數,則會遞迴刪除整個目錄中的所有子目錄和檔案

  • 移動或重新命名一個檔案、目錄、軟連線

4. Git分支管理

  • 概述

分支意味著你可以從開發主線上分離開來,然後在不影響主線的同時繼續工作,有人把 Git 的分支模型稱為"必殺技特性",而正是因為它,將 Git 從版本控制系統家族裡區分出來。

  • 列出分支

  • 建立分支

$ git branch 分支名

  • 切換分支

1) 在當前的master分支下新建一個檔案

2) 在當前的master分支下將所有檔案進行提交

3) 切換分支

$ git checkout 分支名

注:當切換到"newbranch1"分支的時候,在"master"分支新增的新檔案test.txt被移除了, 當再次切換回"master"分支的時候,檔案test.txt又重新出現了。這是因為當以此方式在原分支處建立了新分支,如果後來原分支又有更新提交, 當切換到新分支,Git 將還原工作目錄到建立新分支時候的樣子。

4) 建立分支並直接切換進去

$ git checkout -b 分支名

注:如你所見,我們建立了一個分支,在該分支的上下文中移除了一些檔案,然後切換回我們的主分支,那些檔案又回來了。使用分支將工作切分開來,從而讓我們能夠在不同上下文中做事,並來回切換。

  • 刪除分支

$ git branch -D 分支名

  • 分支合併

$ git merge 分支名

5. 檢視提交歷史

$ git log                                  【檢視詳細的歷史記錄】

$ git log --oneline                 【檢視簡化的歷史記錄】

$ git log --oneline --graph   【檢視歷史記錄的拓撲圖】

$ git log --reverse --oneline【引數reverse逆向顯示歷史記錄】

等等

6. Git標籤

○ 建立標籤

$ git tag -a 標籤名

○ 檢視已有標籤

$ git tag

○ 刪除標籤

$ git tag -d 標籤名