2.1 問題
沿用練習一,學習操作head指標,具體要求如下:
檢視git版本資訊
移動指標
通過移動head指標恢復資料
2.2 方案
head指標是乙個可以在任何分支和版本移動的指標,通過移動指標我們可以將資料還原至任何版本。每做一次提交操作都會導致git更新乙個版本,head指標也跟著自動移動。
2.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:head指標基本操作
1)準備工作(多對資料倉儲進行修改、提交操作,以產生多個版本)。
[root@web2 project]# echo "new file" > new.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "add new.txt"
[root@web2 project]# echo "first" >> new.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "new.txt:first line"
[root@web2 project]# echo "second" >> new.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "new.txt:second"
[root@web2 project]# echo "third" >> new.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "new.txt:third"
[root@web2 project]# git push
[root@web2 project]# echo "123" > num.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "num.txt:123"
[root@web2 project]# echo "456" > num.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "num.txt:456"
[root@web2 project]# echo "789" > num.txt
[root@web2 project]# git add .
[root@web2 project]# git commit -m "num.txt:789"
[root@web2 project]# git push
檢視git版本資訊。
[root@web2 project]# git reflog
[root@web2 project]# git log --oneline
04ddc0f num.txt:789
7bba57b num.txt:456
301c090 num.txt:123
b427164 new.txt:third
0584949 new.txt:second
ece2dfd new.txt:first line
e1112ac add new.txt
1a0d908 初始化
3)移動head指標,將資料還原到任意版本。
[root@web2 project]# git reset --hard 301c0
[root@web2 project]# git reflog
301c090 head@: reset: moving to 301c0
04ddc0f head@: commit: num.txt:789
7bba57b head@: commit: num.txt:456
301c090 head@: commit: num.txt:123
b427164 head@: commit: new.txt:third
0584949 head@: commit: new.txt:second
ece2dfd head@: commit: new.txt:first line
e1112ac head@: commit: add new.txt
1a0d908 head@: commit (initial): 初始化
[root@web2 project]# cat num.txt #檢視檔案是否為123
123[root@web2 project]# git reset --hard 7bba57b
[root@web2 project]# cat num.txt #檢視檔案是否為123,456
123456
[root@web2 project]# git reflog #檢視指標移動歷史
7bba57b head@: reset: moving to 7bba57b
301c090 head@: reset: moving to 301c0
… …[root@web2 project]# git reset --hard 04ddc0f #回到最後一次修改的版本
HEAD 指標操作
多對資料倉儲進行修改 提交操作,以產生多個版本 root client project echo new file new.txt root client project git add root client project git commit m add new.txt root client...
Linux 操作命令 head
1 簡介 head 命令顯示 文件的開頭至標準輸出中 2 主要功能 顯示 文件的開頭至標準輸出中,預設 head 命令列印 檔案的 頭 10 行 3 用法 命令格式 head 選項 檔案 4 常用引數解析 語法 引數 說明 head 顯示 文件的開頭至標準輸出中 預設顯示10行 5 輔助功能 5.1...
ES基本查詢及HEAD操作
一 基本查詢操作 選擇索引 設定type查詢條件 搜尋操作說明如圖 二 must,must not,should的區別 must 返回的文件必須滿足must子句的條件,類似於 and must not返回的文件必須不滿足must not 子句的條件 類似於 not should 返回的文件只要滿足s...