Git 三 對比不同位置的檔案 刪除檔案與恢復檔案

2021-09-20 18:37:06 字數 2523 閱讀 5439

1.初始化git倉庫(提前建立好的目錄)

git init

2.git配置

git config --global user.email "這裡寫你的郵箱"

git config --global user.name "這裡寫你的名字"

2.將乙個檔案新增到暫存區

git add filename

3.給暫存區的檔案建立乙個新版本(commit只給暫存區檔案建立新版本)

git commit -m "版本說明資訊"

4.檢視檔案狀態

git status

5.檢視提交日誌,版本建立日誌

git log

6.版本回退

git reset --hard 版本名 , 如

git reset --hard head^ 回退到上乙個版本,實際上是讓head指標指向上乙個版本

7.檢視操作記錄

git relog

8.丟棄工作區對某個檔案的修改

git checkout --檔名

9.把提交到暫存區的檔案撤回

git reset --hard 版本名 檔名 , 如

git reset --hard head code.cpp ,將已經提交到暫存區的code.cpp檔案撤出暫存區

10.將已經建立新版本的檔案撤出

1.版本回退

2.撤出暫存區

3.如果需要,丟失工作區對應檔案的修改

修改前的檔案內容:

同樣的,沒有出現±號的是檔案共有的;

-代表第乙個引數版本中所獨有的內容,這裡是指head版本

+代表第二個引數版本中所獨有的內容,這裡指的是head^版本

二、刪除檔案

1.使用rm刪除工作區的乙個檔案,可以使其恢復

檢視有哪些檔案:

king@ubuntu:~/mydir/test_git$ ls

code2.cpp code.cpp

刪除code2.cpp檔案:

king@ubuntu:~/mydir/test_git$ rm -f code2.cpp

檢視還有哪些檔案:

king@ubuntu:~/mydir/test_git$ ls

code.cpp

使用checkout撤銷工作區的操作,這裡是恢復刪除的檔案:

king@ubuntu:~/mydir/test_git$ git checkout -- code2.cpp

檢視有哪些檔案:

king@ubuntu:~/mydir/test_git$ ls

code2.cpp code.cpp

king@ubuntu:~/mydir/test_git$

2.確實要刪除乙個檔案,將刪除檔案的改動放到暫存區中,然後建立新的版本記錄

1.刪除檔案:

rm filename

2.將刪除檔案操作記錄在暫存區:

git rm filename

3.並且將刪除檔案的操作建立乙個新的版本記錄:

git commit -m "刪除了filename"

3.無法恢復刪除檔案的一種情況

touch main.cpp

rm main.cpp

此時,我們新建立的檔案main.cpp並沒有被git跟蹤,所以沒法利用git恢復

這能通過掃瞄硬碟來恢復;

正確做法,我們建立的新檔案應該先add到暫存區,使git幫我們跟蹤管理更安全。

假如誤刪了乙個檔案,我們可以參考第二篇文章版本的恢復操作。

總結

1.如果只進行了第一步,我們通過git checkout 來恢復工作區檔案;

2.如果我們已經進行到了第二步,我們通過一下操作:

3.如果我們已經對刪除操作建立了新的版本,進行一下的操作恢復檔案:

刪除檔案並且建立新的版本:

(三)對極幾何

對極約束理解 1.對於有重疊紋理的兩幀影象,通過特徵點匹配可以找到一些匹配對,這是對極幾何約束的基礎 2.匹配對是由同一空間點在不同畫素平面投影得到的不同畫素座標,以參考幀為基礎,假設空間點為 p 參考幀投影畫素為 p 當前幀投影畫素為 p 由於空間點 p 深度值不確定,因此其可能在參考幀光心 o ...

三對老虎過河問題

abc三隻母老虎,孩子分別為abc三隻小老虎,已知abca都會划船,bc不會。每次過河船上最多坐兩隻老虎,可兩大或兩小或一大一小一起過。但一大一小老虎在一起時,如果不是母子關係,那麼小老虎會被吃掉,請設計乙個合理的過河方案。ab過,abcc ab a回,aabcc b ac過,abc abc a回,...

Linux curses 總結三(對鍵盤的操作)

cbreak cooked 預處理模式 curses程式的控制模式函式 curses程式的鍵盤操作函式 小栗子curses程式的鍵盤操作是對底層的簡單封裝介面 cooked 標準輸入模式,處理的是一行資料,每次遇到 r 換行符 才會把輸入到快取的資料傳遞給程式,這種情況下鍵盤輸入特殊字元可以被處理 ...