簡體   English   中英

如果我忘記推送提交並從本地開發分支創建功能分支,如何解決 GIT 沖突?

[英]How to resolve GIT conflict if I forgot to push the commits and created a feature branch from my local develop branch?

我正在尋找一種簡單的方法來解決我當前的 git 沖突。

事情是這樣發生的:

  1. 在我的開發分支上創建的本地提交(5)(不推送它們)
  2. 從我的本地開發分支創建的功能分支
  3. 功能分支開發完成,提交已推送
  4. 來自功能分支的 PULL 請求以開發合並
  5. 現在我檢查了我的本地開發分支,當我嘗試同步時,我看到也已經有傳入和傳出的提交,現在我意識到我忘記提前推送它們並猜測我遇到了麻煩......
  6. (嘗試同步但不出意外它有很多沖突)

我希望這是可以理解的,請有人可以幫助我。 謝謝!

如果自從您創建了feature分支(推送的feature分支,然后合並到遠程origin/develop分支)之后,您還沒有在本地develop分支上進行任何新的提交,您可以簡單地:

  • origin
  • 將您當前的develop分支重置為origin/develop

(對於上述情況或以下情況,我會將您的本地存儲庫保存在一個重復的文件夾中,以防萬一出現問題)


這會起作用,因為origin/develop確實包括您的本地develop + feature工作,通過拉取請求合並到origin/develop

如果您在創建功能后就在開發上進行了提交,則可以將這些新提交重新設置在origin/develop之上

git fetch origin
git branch tmp origin/develop
git rebase --onto tmp $(git merge-base feature develop) develop
git branch -f develop tmp
git switch develop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM