1. 程式人生 > >Git系列2--版本庫(Repository)

Git系列2--版本庫(Repository)

什麼是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。

建立版本庫 (init) 

我們先要確定要把哪個資料夾裡的檔案進行管理. 比如說我桌面上的一個叫 gitTUT 的資料夾. 然後在 Terminal (Windows 的 git bash) 中把當前目錄調到這個資料夾 gitTUT, 我的做法是這樣:

$ cd ~/Desktop/gitTUT

為了更好地使用 git, 我們同時也記錄每一個施加修改的人. 這樣人和修改能夠對應上. 所以我們在 git 中新增使用者名稱 user.name

 和 使用者 email user.email:

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

$ git config --global user.email "郵箱@email.com"

然後我們就能在這個資料夾中建立 git 的管理檔案了:

$ git init
# Initialized empty Git repository in /Users/使用者/Desktop/gitTUT/.git/

因為這個資料夾中還沒有任何的檔案, 它返回出來一句話告訴我們已經建立了一個空的 git 管理庫.

新增檔案管理 (add) 

通常我們執行 $ ls

 就能看到資料夾中的所有檔案, 不過 git 建立的管理庫檔案 .git 是被隱藏起來的. 所以我們要執行這一句才能看到被隱藏的檔案:

$ ls -a
# .	..	.git

建立一個新的 1.py 檔案:

$ touch 1.py

現在我們能用 status 來檢視版本庫的狀態:

$ git status

# 輸出
On branch master    # 在 master 分支

Initial commit

Untracked files:    
  (use "git add <file>..." to include in what will be committed)

	1.py        # 1.py 檔案沒有被加入版本庫 (unstaged)

nothing added to commit but untracked files present (use "git add" to track)

現在 1.py 並沒有被放入版本庫中 (unstaged), 所以我們要使用 add 把它新增進版本庫 (staged):

$ git add 1.py

# 再次檢視狀態 status
$ git status

# 輸出
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   1.py    # 版本庫已識別 1.py (staged)

如果想一次性新增資料夾中所有未被新增的檔案, 可以使用這個:

$ git add .

提交改變 (commit) 

我們已經新增好了 1.py 檔案, 最後一步就是提交這次的改變, 並在 -m 自定義這次改變的資訊:

$ git commit -m "create 1.py"

# 輸出
[master (root-commit) 6bd231e] create 1.py
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 1.py

流程圖 

整個上述過程可以被這張 git 官網上的流程圖直觀地表現:

第一個版本庫 Repository