簡體   English   中英

合並分支並將其重新設置為master,而不會發生沖突

[英]Merge and rebase branch into master without conflicts

這是我們當前的功能分支工作流程->

  • 從母版創建一個新的功能分支。
  • 將工作提交到功能分支。
  • 在我們努力使母版保持最新的同時,將其合並到功能分支中。
  • 如果有沖突,請解決。 這將在功能分支中創建一個“將母版合並到Feature_Branch”提交。
  • 功能分支完成后,將功能分支合並回master。

問題:

如果我們將功能分支的--squash合並到母版中,則不會有問題。 如果我們進行常規合並,然后重新定基,則必須再次解決所有沖突。 在具有100個提交的功能分支上,這是一個主要的難題。

有沒有一種方法可以將功能分支合並回master和rebase中而不會發生沖突?

我認為您正在與這件事作斗爭: 重新定義Git合並提交

嘗試啟用rerere並將git rebase-p選項一起使用。

如果我理解得很好, -p要求Git在重新設置基准時在絆倒時嘗試重用以前存儲的沖突解決方案,而rerere是一個“插件”,可以使git從字面上說“重用已記錄的解決方案”。

某個時間以前, 這里有一篇文章但現在看來似乎有所下降。 也許您會在Internet存檔上找到它。

所以,我只是查找了另一個,似乎很好地解釋了事情:

重載你的船...

即:

啟用rerere ,您可以偶爾合並,解決沖突,然后退出合並。 如果您連續執行此操作,那么最終合並應該很容易,因為rerere可以自動為您完成所有操作。

如果您想使分支保持基礎,則可以使用相同的策略,這樣您就不必每次都處理相同的基礎沖突。 或者,如果您想合並並修復一堆沖突,然后決定改組分支,則可以不必再次執行所有相同的沖突。

看到重點。 似乎只是您在做什么。

但是,在選擇“ geez之前,為什么默認不啟用該功能?!” 保重,也請參見: httpsrerere ,並與rerere學習rerere forget 以防萬一!

暫無
暫無

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

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