Git系列2 版本庫 Repository

2021-08-31 11:41:34 字數 2226 閱讀 1520

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

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

$ cd ~/desktop/gittut
為了更好地使用 git, 我們同時也記錄每乙個施加修改的人. 這樣人和修改能夠對應上. 所以我們在 git 中新增使用者名稱user.name和 使用者 emailuser.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 管理庫.

通常我們執行$ 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 ..." 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 ..." to unstage)

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

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

$ git add .
我們已經新增好了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 官網上的流程圖直觀地表現:

Git學習筆記2 版本控制

1.版本回退 head 當前指標 head 表示向上一層 head n 表示向上n層 git reset hard head 返回到上乙個版本 git reset hard 94bf 返回到指定版本,94bf是指定版本的id穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。要重返未...

Git的使用 1 版本庫

git作為乙個分布式版本控制系統,其優點是不需要一直連線遠端版本庫就可以使用。故其為實現分布版本控制專門設計了一整套的儲存區間和語句,用來實現。1 本地版本庫 建立在本機磁碟上的資料夾 git 1 通過推送語句語句將本地版本庫完整的上傳 替換遠端版本倉庫中的 2 通過檢出語句建立 切換工作區的分支。...

自學GIT內容分享2 版本管理

學新內容來自廖雪峰老師官方 之前我們所建立的learngit資料夾就是乙個工作區 working directory 工作區里的隱藏目錄.git屬於git的版本庫 repository 裡面存了很多東西,其中最重要的是stage 或者叫index 的暫存區,還有git為我們自動建立的第乙個分支mas...