我們試著提交乙個readme.txt檔案,並用其感受版本控制功能。
原readme檔案內容:
this使用add,commit提交到倉庫。is cp'
s channel.
nice to meet u.
然後修改第二行的u->you儲存。
this這時我們可以通過命令:git status 檢視庫的當前狀態。is cp'
s channel.
nice to meet you.
$ git status會告訴我們readme已經被修改。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
")
我們可以使用命令:git diff filename 檢視具體的更改內容。
$ git diff readme.txt然後我們再add、commit修改後的版本。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
此時再檢視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 傳統的集中式版本控制系統不能有效地管理分支和進行分支合併.集中管理的版本庫只有唯一的分...