前情是這樣的
前端**一直是乙個人維護,因此只是開了乙個個人分支,然後不管是新功能開發還是bug修復什麼的,都往那乙個分支上提交。
需要上線的時候會merge到上線的分支,一直以來都是這麼幹的,但是今天出問題了。通過這個問題我也有了反思。具體見下文:
問題是這樣的
需要上線hyh分支最新的一次修復bug的commit,但前幾次新增新功能的commit是不需要上線的,但是他們的提交時間又在bug的commit前面。因此通過普通的回滾操作是無法解決的。
解決方案是這樣的。
回滾到上線分支的commit,然後將對應的修復bug的檔案提交。
git reset --soft e842a411df4083bbef81a3502fd7d9e558fdbcdc 版本回退,且本地保留修改(--hard,本地不保留修改)
git push origin dev1.0.7 --force 版本回退強制提交到遠端
至此,已經回滾到所需分支,然後提交想要上線的檔案即可。
事後反思是這樣的。
目前主分支為dev1.0.7(主分支:最新上線的前端**),hyh分支為新功能子應用版本對應分支,dev1.0.7-fix1為修復bug分支,如果上線則將對應bug分支或者新功能分支merge到線上分支。總結就是bug分支,新功能分支,上線分支(上線的分支要單獨維護起來的原因就是要知道哪個是線上的前端**,需要上線的時候再將對應的修復分支或者新功能分支合併到上線分支)
如果之前能有這樣的意識,做到分支的正確管理,**的正確提交,那麼當問題出現就不會那麼棘手了,因此還是要按照科學的管理git分支和**提交呀!!!!
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 會顯示提交日誌,但是嫌輸出過多怎麼辦,...