一日一技:不小心修改了Git主分支的代碼怎么辦?
在以前的文章:手把手教學,如何解決 git 沖突?中,我提到,主分支 master 或者 main 中的修改,只能通過 merge 合并代碼引入。絕對不應該手動在主分支里面修改代碼。在很多正規項目里面,主分支是不允許直接 push 代碼的。
但在現實中,經常出現這樣的情況。上一次合并完成代碼以后,我的分支還停留在主分支。過了十天半個月以后,突然發現了一個 bug,或者想到了一個需要修改的地方。于是打開 VSCode 或者 IDE 就開始改代碼。改了幾十行代碼,好幾個文件以后,突然發現,糟糕,我在主分支上面改了文件。
有不少同學遇到這種問題以后,是這樣解決的:
- 先git status 看看修改了哪些文件,去文件夾里面把這些文件復制出來。
- 使用git checkout -- 文件名把所有修改全部重置
- 重新創建一個新的分支
- 把之前復制出來的文件覆蓋回去
- ……
這樣做,雖然說確實可以解決問題,但過程非常繁瑣。
那么,遇到這種情況怎么辦呢?實際上非常簡單:
- git add把所有文件加入暫存區
- git commit把所有文件提交到變更記錄里面
- 執行命令git branch -M dev把當前的主分支改名為dev
- 執行命令git checkout -b main重新創建一個主分支。(注意 Github 新項目的主分支是 main,老項目是 master)
- 執行命令git reset --hard HEAD^移除主分支最新的提交
至此,主分支的修改已經被抹除。你可以重新轉到 dev 分支繼續剛才未完成的開發了。
如果大家還不會正確使用 Git,可以點擊閱讀原文,使用微軟提供的交互式環境來信息和操作,根據提示一步一步完成操作,也就學會了 Git。
本文轉載自微信公眾號「未聞Code」,可以通過以下二維碼關注。轉載本文請聯系未聞Code公眾號。