簡體   English   中英

如何基於文件差異而不是提交將兩個分支與Git合並?

[英]How to merge two branches with Git based on file differences instead of commits?

我有一個關於合並過程的問題,這在使用Git時可能會非常困難。

我熟悉大多數命令,並在另一台計算機上擁有運行良好的本地存儲庫(此刻,我在其上為實時服務器提交更改)。 我也知道Git中的完整工作流程(本地存儲庫/索引/工作區等)。

問題出在我自己的開發機器(標准Win8機器)上。

我在合並兩個分支和其他問題時遇到了很多麻煩,最后用“ git mergetool”命令解決了所有沖突,結果發現並非所有文件都被合並了。

情況我有自己的分支來開發軟件,可以稱其為“ myBranch”。 然后我們有了“發布”分支,這是我們推送到實時服務器之前的最后階段。 我需要在“ myBranch”中擁有“ release”的所有代碼。 他們在某個時候有一個共同的祖先。

現在的事情是(經過數周的努力使所有工作正常運行,因此讓我感到沮喪),“發行”中有一些代碼不在“ myBranch”中。 運行“ git merge”會給我消息“已經更新”。

問題因此,我的問題是:我怎樣才能讓Git根據實際文件差異而不是提交差異來比較兩個分支,以便我可以合並尚未在自己的分支中的代碼,存在於“ release”分支中但沒什么區別。

如果我的問題還不夠完整,請要求補充,我將嘗試使其盡可能完整。

提前致謝!

如果我正確理解了這個問題,那么這是軟件開發中的一種很常見的情況:更改是在dev分支上進行的,而分支本身是發布分支,而發布分支本身會同時獲得新的提交。 假設您位於“ myBranch”上,請定期重新設置為“發布”。

$ git fetch --all
$ git rebase origin/release

如果成功完成,它將合並所有在“發行版”中的更改到“ myBranch”,並且看起來您在最新的“發行版”分支上進行了更改。

暫無
暫無

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

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