Git學習筆記 版本控制

2022-03-19 11:07:40 字數 2516 閱讀 9538

我們試著提交乙個readme.txt檔案,並用其感受版本控制功能。

原readme檔案內容:

this

is cp'

s channel.

nice to meet u.

使用add,commit提交到倉庫。

然後修改第二行的u->you儲存。

this

is cp'

s channel.

nice to meet you.

這時我們可以通過命令:git status 檢視庫的當前狀態。

$ git status

on branch master

changes not staged

forcommit:

(use

"git add ...

"to update what will be committed)

(use

"git restore ...

" to discard changes in

working directory)

modified: readme.txt

no changes added to commit (use

"git add

" and/or "

git commit -a

")

會告訴我們readme已經被修改。

我們可以使用命令:git diff filename 檢視具體的更改內容。

$ git diff readme.txt

diff --git a/readme.txt b/readme.txt

index 962cb11..fb5ee03

100644

--- a/readme.txt

+++ b/readme.txt

@@ -1,2 +1,2@@

this

is cp'

s channel.

-nice to meet u.

\ no newline at end of file

+nice to meet you.

\ no newline at end of file

然後我們再add、commit修改後的版本。

此時再檢視status就顯示

nothing to commit, working tree clean
沒東西要commit,工作目錄是乾淨的。

此時我們已經提交了兩次readme,怎麼回退到上乙個版本呢?

首先我們看看git log命令,可以檢視所有的歷史版本,也就是你每commit一次就會有乙個新的版本。

git log命令會給出版本號、作者、提交時間和說明。

使用git reset命令可以進行回滾,命令格式:

$ git reset --hard head^
haed表示當前版本,head^就是上乙個版本,同理head^^就是上上個版本,head~n就是前n個版本。此處也可以用版本號來代替(不用寫全,前幾位就行,git會自動匹配)。

檢視檔案果然被回滾了。

回到過去可以,但是想重返未來呢?只要找到版本號就可以去到任意地方,如果已經回退了,可以用git reflog檢視命令歷史,裡邊可以看到你對任何乙個版本的操作,包括版本號。

git可以分為兩個區域,工作區和暫存區。

工作區就是你倉庫目錄,不包括.git目錄。

.git目錄下就是版本庫,版本庫里有暫存區和分支(也就是你的倉庫)。master分支是自動建立的。

暫存區一直儲存上一次add的內容。

git add 實際上是將工作區檔案新增到暫存區,

git commit 是將暫存區檔案新增到分支,

git diff 是檢視工作區和暫存區差別,

git diff --cached 是檢視暫存區和分支區別,

git diff head 是檢視工作區和分支區別,

git checkout 是撤銷工作區修改,把暫存區最新版本轉到工作區,是add反向命令,

git reset head 是把倉庫最新版本轉到暫存區。

每次add就是將一次修改提交到暫存區。

這個需要使用時慢慢理解。

git checkout -- filename 命令,就是將暫存區最新版本轉到工作區

git reset head filename 是把倉庫最新版本轉到暫存區

如果修改了工作區檔案,沒有add,用checkout;

如果add了,用reset head,此時暫存區回退,再用checkout,工作區回退;

如果你還腦子短路commit了,用reset -hard head^,將暫存區、工作區都回滾到上一次提交,僅add沒commit也可用此法。

git rm filename,刪除檔案。並且git commit提交修改。

參考:廖雪峰的git教程

git版本控制工具學習筆記

git是目前世界上最先進的分布式版本控制系統,版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱待定版本修訂情況的系統。工作區與版本庫 工作區 就是你在電腦裡能看到的目錄 版本庫 工作區有乙個隱藏目錄.git,就是git的版本庫 建立版本庫 切換目錄位置cd f task 顯示當前目錄位置 pw...

GIT 版本控制命令學習

1.git init 要對現有的某個專案開始用 git 管理,只需到此專案所在的目錄,執行 2.git status 檢查當前檔案狀態 3.git add命令 功能1 可以用它開始跟蹤新檔案 功能2 或者把已跟蹤的檔案放到暫存區 功能3 還能用於合併時 把有衝突的檔案標記為已解決狀態等 4.cat ...

學習版本控制工具Git

1 怎樣理解版本控制 版本控制是管理資料變更的藝術,無論資料變更時來自同乙個人,還是來自不同的人 乙個團隊 版本控制系統不但要忠實地記錄資料的每一次變更,還要能夠幫助還原任何一次歷史變更,以及團隊的協同工作等.2 傳統的集中式版本控制系統不能有效地管理分支和進行分支合併.集中管理的版本庫只有唯一的分...