1. 程式人生 > 程式設計 >Git提交程式碼錯了吃後悔藥的幾種常用辦法(場景分析)

Git提交程式碼錯了吃後悔藥的幾種常用辦法(場景分析)

1. 前言

寫程式碼都會犯錯誤,不小心提交了一個錯誤我該怎麼辦?提交的描述資訊我該怎麼辦?如果你也遇到這個問題,那麼今天胖哥分享的這篇文章將非常適合你。

2. Commit 錯了怎麼辦

放心都是有後悔藥吃的,我們來看看。

場景一

假如你git commit了一堆程式碼,但是你發現本次Commit的描述資訊有點隨意,你可以這樣:

git commit --amend -m“新的提交訊息”

場景二

你本來打算Commit五個檔案,但是由於疏忽你Commit了四個。當然你可以再Commit一次來進行彌補這個失誤。但是多了一次Commit,按道理它們應該在一次Commit中。git commit --amend

也能幫你解決這個問題:

git add 忘記提交的檔案
git commit --amend --no-edit

場景三

有些專案比較嚴格,對提交者的資訊(author)有要求。如果你Commit的作者不規範,也可以通過git commit --amend來解決:

git commit --amend --author“[email protected]

儘量確保這些錯誤在你本地提交時修復,推送到遠端時使用amend命令將會使得程式碼歷史變得混亂。另外git commit -am可不是git commit --amend的簡寫。

場景四

提交錯了想撤回本次提交,無論是撤回遠端的還是本地的,你可以使用git reset

搞定,如下面這個例子:

git log
# 最新的
commit e49850be48f25d58b977b778d59c48a41e482bb4 (HEAD -> master)
Author: felord.cn <[email protected]>
Date: Sun Nov 1 23:39:33 2020 +0800
 
 'readme'
# 次新的
commit 8e7089f62ad8588f5710f23d6a8ce1158490032b (origin/master,origin/HEAD)
Author: felord.cn <[email protected]>
Date: Sun Nov 1 22:06:21 2020 +0800

通過git log我們查詢獲得了最新的兩次提交,但是最新的提交e49850be48f25d58b977b778d59c48a41e482bb4 我們想撤回,也就是把最新的提交移動到第二個上面。我們只需要執行 git reset --soft 目標提交commitId,上述例子中的commitId=8e7089f62ad8588f5710f23d6a8ce1158490032b

git reset有四種模式 softmixedhardkeep,說明如下:

Git提交程式碼錯了吃後悔藥的幾種常用辦法(場景分析)

借用IDEA的說明

git revert 也能實現,區別在於revert會產生一次Commit,需要填寫提交資訊。

場景五

程式碼已經推送到遠端伺服器了,我想撤回某個檔案,你可以這麼操作:

# 檢視檔案歷史版本
git log <filename>
# 回滾到指定commitId
git checkout <commitId> <filename>
# 提交被修改的檔案
git commit -m '回滾特定檔案的變動'
# 推送
git pus

3. 總結

我經常用的也就這些了,但是吃後悔藥的時候一定要小心,最好拉一個新分支在新分支上試試,不要強吃後悔藥,不然你會後悔的。目前像 IDEA 都是視覺化操作你可以不用命令操作,不過胖哥個人覺得這些命令還是要熟悉的。

到此這篇關於Git提交程式碼錯了吃後悔藥的幾種常用辦法(場景分析)的文章就介紹到這了,更多相關Git提交程式碼錯誤內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!