1. 程式人生 > >Git本地容器常用指令總結

Git本地容器常用指令總結

1.背景
近日在拜讀廖雪峰大牛的git教程,確實猶如大家公認的是目前網上最為簡潔易懂而且全面的教程。由於校園網問題導致不能訪問github,因此就先整理一下從廖大牛那學來的一些本地容器常用的指令。

2.操作
1)安裝git

sudo apt-get install git

2)建立本地倉庫repository,為git表明“哥我要進行版本控制的檔案在這個檔案中哦“這意思。(這裡假設在GIT資料夾下建立倉庫。)

cd GIT
git init

執行後,GIT目錄下會生成一個隱藏的.git資料夾。

3)往倉庫中新增檔案,引用廖大牛的原話是

“首先明確一下,所有的版本控制系統,其實只能跟蹤文字檔案的改動,比如TXT檔案,網頁,所有的程式程式碼等等,Git也不例外。“

二進位制檔案(如圖片視訊等)是不行的,所以我們一般是用來對原始碼進行版本控制的。
先touch一個新檔案test.txt,內容任意。再執行

git add test.txt

告訴倉庫我新增一個要版本控制的檔案test.txt了。可以git add多個檔案,都會先提交給git的暫存區,等最後一併提交。
可以隨時執行

git status

檢視當前倉庫的資訊。

4)推送當前版本(最近add的版本)給倉庫。

git commit -m "do something"

-m 是附加訊息即這個版本是什麼或者修改者動了什麼。需要注意的是,它只會commit那些add後的檔案,假如你在add了一次test.txt,隨後又執行了修改,那麼它只會commit add時的text狀態,想要提交修改後的,再add一下即可。

5)如果你在本地對test.txt進行了自己的修改,內容一多就忘了修改了什麼,可以執行diff來檢視。

git diff test.txt

此命令會將本地當前的test.txt與倉庫中最新版本的test.txt進行對比,並將結果輸出。

6)版本回退。
先用git log來檢視需要回退的版本,也就是之前commit的id號,亦即那條SHA1資訊。

git reset --hard commit_id

commit_id一般寫SHA1值的前幾個即可,git會自動查找出來。

7)從之前回到現在。
如果在版本回退後發現也不是想要的,就要從過去回到現在。此時執行git log是沒有對應的版本資訊的。因此就要換一個命令了,執行git reflog

便可以看到之前的commit_id了,之後再git reset即可。

8)取消修改
如果在對一份檔案不小心進行了一些奇怪的操作,同時自己也忘了具體是什麼,也不要慌,可以撤銷相應的修改。

git checkout -- test.txt

git checkout有兩層作用,同樣這裡引用廖大牛的總結原話比較清楚一點:

一種是test.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是test.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

9)刪除檔案
如果你執行了rm test.txt即把test.txt給刪除了,同時又不想在倉庫中保留,那麼執行

git rm test.txt
git commit -m "remove the test.txt" 

這就從倉庫中把它給刪了。而另外一種情況是你不小心誤刪的,那麼也別急,checkout一下即可恢復~

git checkout -- test.txt

你會發現test.txt又回來了:)