正常情況下,我們的工作流就是3個步驟,對應上圖中的3個箭頭線:
git add .git commit -m "comment"git push
git add .把所有檔案放入暫存區;
git commit把所有檔案從暫存區提交進本地倉庫;
git push把所有檔案從本地倉庫推送進遠端倉庫。
檢查修改
已修改,未暫存(還沒有做git add .之前)-> git diff
已暫存,未提交(執行git add .後)-> git diff --cached
已提交,未推送(執行git commit後)-> git diff master origin/master
撤銷修改
已修改,未暫存(還沒有做git add .之前)-> git checkout . 或者git reset --hard
已暫存,未提交(執行git add .後)->(
git reset git checkout .
或者 git reset --hard
git reset只是把修改退回到了git add .之前的狀態,也就是說檔案本身還處於已修改未暫存狀態,你如果想退回未修改狀態,還需要執行git checkout .。
或許你已經注意到了,以上兩個步驟都可以用同乙個命令git reset --hard來完成。是的,就是這個強大的命令,可以一步到位地把你的修改完全恢復到未修改的狀態。)
已提交,未推送(執行git commit後)-> git reset --hard origin/master
(還是這個git reset --hard命令,只不過這次多了乙個引數origin/master,正如我 們上面講過的,origin/master代表遠端倉庫,既然你已經汙染了你的本地倉庫,那麼就從遠 程倉庫把**取回來吧。)
已推送 (既git add了,又git commit了,並且還git push了)這時你的**已經進入遠端倉庫。如果你想恢復的話,還好,由於你的本地倉庫和遠端倉庫是等價的,你只需要先恢復本地倉庫,再強制push到遠端倉庫就好了:
git reset --hard head^ git push -f
測試工程師常用Linux命令
安裝軟體 編輯 yum y install 檢視當前目錄 ls 檢視所有 ls a 建立乙個資料夾 mkdir foldername 同時建立幾個資料夾 mkdir f1 f2 f3 刪除資料夾 檔案 rm rf f1 刪除符合條件的 rm rf 建立檔案 touch jn.txt 編輯檔案 vim...
測試工程師常用Linux命令(3)
linux許可權操作 功能項命令例項 作用重要性 使用者組groupadd testing 新增一 個新的使用者組testing 中cat etc group 檢視組是否被新增成功 中groupmod n test testing 將testing重新命名成test 中groupdel test 刪...
測試工程師簡介
一 什麼是軟體測試?1975年,兩位軟體測試先驅john good enough和susan cerhart 在ieee上發表了 軟體資料選擇的原理 此時將軟體測試定義為 證明軟體的工作是正確 的活動。1979年,glenford j.myers的著名的 軟體測試藝術 對測試的定義是 發現錯誤而執行...