1. 程式人生 > 實用技巧 >【題解】[JLOI2011] 飛行路線

【題解】[JLOI2011] 飛行路線

git基礎操作

基礎知識

Git分為三種狀態,你的檔案可能處於其中之一:已修改(modified),已暫存(staged),已提交(committed)。分別對應三個邏輯區:工作區,暫存區,倉庫(資料目錄)。

操作演示

git init test

此命令初始化一個新本地倉庫,它在工作目錄下資料目錄生成一個名為.git的隱藏資料夾。git會將所有的檔案,目錄,提交等轉化為git物件,壓縮儲存在這個資料夾當中。
git init 命令後面不加引數表示把當前目錄變為倉庫,如下表示在當前目錄下建立test倉庫


git status

檢視當前git狀態


這裡表示的是暫存區沒有檔案,可以提交到暫存區的檔案有test1.txt和test2.txt

我們要用git add來提交到暫存區(也可以理解為建立跟蹤)

git add


git commit

將檔案由暫存區提交到倉庫

-m 引數表示提交時的備註


可以看到儘管我們提交了test1.txt檔案,但是我們還是在跟蹤test1.txt檔案

這時我們再修改test1.txt檔案,在使用

git diff test1.txt


可以看到,當我們沒有修改test1.txt時,使用git diff命令時,是不會有顯示的,當我們進行修改了之後,再diff就有顯示,git diff表示工作區和暫存區的區別,這時侯我們還沒有把工作區修改的檔案提交到暫存區,自然有顯示,當提交了就沒有顯示了

git log

我們使用git log檢視提交到倉庫區的記錄


檢視下歷史記錄,HEAD我的理解就是指標,指到最後提交的版本,提交的越早的在最低下。


這是同時修改個檔案的git diff效果


這是同時提交多個檔案到倉庫的效果,還是以最近一次提交為head指標,但是區分不出具體提交的檔名。

git reset --hard [版本號]

可以回退到之前一個版本,這時test1.txt的內容對應這個版本的內容

git reflog

當我們使用git reset進入之前的版本號後,會看不到最先開始的版本號,這時我們可以通過git reflog來進行檢視。