git版本回退

2022-02-20 07:24:54 字數 957 閱讀 6937

場景1:

當你改亂了工作區某個檔案的內容,修改後未執行git add和git commit,想直接丟棄工作區的修改時,用命令git checkout -- file

場景2:

當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,修改後執行了git add,未執行git commit,想丟棄修改,分兩步,第一步用命令git reset head,就回到了場景1,第二步按場景1操作。

場景3:

已經提交了不合適的修改到版本庫時,執行了git commit,未執行git push,想要撤銷本次提交,如下:

1、檢視歷史提交記錄

git log 或者格式化輸出結果git log --pretty=oneline

會顯示commit id

2、回退指定版本

先找到要回退的版本的commit id

git reset --hard 3、git relog可以看做了哪些操作

場景4:

已經執行了git push,想要撤銷本次提交,如下:

假設你有3個commit如下:

commit 3

commit 2

commit 1

其中最後一次提交commit 3是錯誤的,那麼可以執行:

git reset --hard head~1

你會發現,head is now at commit 2。

然後再使用git push --force將本次變更強行推送至伺服器。這樣在伺服器上的最後一次錯誤提交也徹底消失了。

值得注意的是,這類操作比較比較危險,例如:在你的commit 3之後別人又提交了新的commit 4,那在你強制推送之後,那位仁兄的commit 4也跟著一起消失了。

Git版本回退

1 檢視檔案修改歷史 git log 返回的是commit後的操作記錄 git log pretty oneline 也可以使用這個命令格式化日誌輸出 2 版本回退 git reset hard head 回退到上乙個版本 git reset hard head 100 會退到第100個版本,例如現...

git版本回退

先說今天遇到的問題,看到乙個config.php的配置檔案一直在修改的狀態下,但是和遠端的config.php是不一致的,我不需要提交它,但是看它在 modified的狀態下,很不爽,想刪除它,git rm config.php,然後git push了下,結果不僅把本地的config.php乾掉了,...

git版本回退

把修改後的版本通過命令提交到版本庫 第一步 git add 檔名 字尾 第二步 git commit m commit id 但是有時候想回去怎麼辦呢?當然萬能的git給我們提供了方法的。我們先檢視一下最近到最遠的提交紀錄操作如下 在命令航輸入 git log 會顯示提交日誌,但是嫌輸出過多怎麼辦,...