程式碼工具: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 標籤名