欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何解決git revert后再次merge代碼丟失問題

 更新時間:2025年04月02日 09:05:59   作者:coding4all  
這篇文章主要介紹了如何解決git revert后再次merge代碼丟失問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

git revert后再次merge代碼丟失問題

問題場景

公司使用gitlab作為代碼管理工具,開發(fā)人員新功能開發(fā)結(jié)束時(開發(fā)分支:feature-member),合并代碼需要提交mr(pr)給相關(guān)負責人,由負責人將代碼合并到master。

此時產(chǎn)品說暫時不上線此版本,和下一個版本一起發(fā)布,為了保證master分支代碼的準確性,我們使用git revert將本次mr撤銷。

然后等下個版本開發(fā)完成后,提交了mr,發(fā)現(xiàn)變動的文件只有revert之后的變動,第一次mr的文件改動都沒有了(git revert后再次merge,git默認會丟棄這段代碼)。

解決方案

# 切換到master分支
git checkout master
git pull
# 基于master拉出一個分支 revert_tmp
git checkout -b revert_tmp

# 將之前git revert那次commit再次revert(commit號從git log可以查到)
git revert acd414e1cd42315ce93a9730db961155be140013
git checkout feature-member
git merge revert_tmp
git commit -m "revert"
git push

經(jīng)過以上操作后,再次提pr,這樣第一次revert之前的代碼就可以看到了。

git revert 某次 merge 之后再重新 merge 代碼被沖掉

問題

在 develop 分支發(fā)現(xiàn) merge 某個 feature 分支時的代碼有問題(如果是 feature 分支的代碼有問題,只要修改該 feature 分支的代碼,再 merge 到 develop 就好了。

如果是 merge 的時候沖突沒有解決好則需要 revert 該次 merge),于是用 ’git revert < commit id > -m 1 ‘ 命令 revert 了該次 merge , 但是 revert 之后想把這個 feature 分支再重新merge到develop 分支時,發(fā)現(xiàn) merge 不了。

解決方法

在 revert feature 的 merge 之后,checkout 到 feature 分支,

使用 git reset head^ 撤銷上次提交(如果merge前有多個提交就撤消所有提交)

然后修改有問題的代碼,代碼沒問題的話不修改也行

修改完后 ,將代碼提交并強推到遠程分支

git add .
git commit -m “”
git push -f

再 checkout develop 切換到 develop 分支

用 git merge 再merge 一次該feature分支,就會發(fā)現(xiàn)代碼都 merge上去了

最后 push 到遠程就ok了。

總結(jié)

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論