2017-09-17 45 views
-1

如何在存儲庫的兩個目錄之間創建差異,然後將該差異保存爲提交?如何在repo的兩個目錄之間製作差異,然後將差異另存爲提交

編輯1: 使用案例:有一個名爲Moodle的軟件,它幾乎不是基於模塊的。每個功能位於不同的目錄中。 我需要保留我所做的每個功能的自定義更改,並且官方軟件發佈時,我想將更改集成到新版本中。

編輯2: 我有一個標籤爲v2.7.0的原始版本。我對30-40個目錄進行了自定義更改。現在我已經提交了與發佈v2.7.0相比的所有更改。 這是太多的工作來做合併&衝突解決一步發佈v3.2.0。 所以我會將這些改變分割成目錄(特徵)。然後,當我通過v3.2.0重新進行更改時,我可以逐個重新設置功能/目錄更改。 這是我現在想做的工作。

我希望現在更清楚。

+0

這對我來說就像[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你想通過這樣做完成什麼? – Chris

+0

如果每個目錄中的文件數量和名稱不相同,則您的請求無意義。如果你只是想讓一個目錄看起來像另一個目錄,爲什麼不直接簽出所有感興趣的文件呢? –

+0

即使_if_在每個目錄中的文件的數量和名稱是相同的,這是沒有意義的。有什麼可能的用途來區分目錄,然後「將差異保存爲提交」?那有什麼意思? – Chris

回答

0

你想要的是Git中有點罕見和奇怪。差異是可能的。技術上,Git使用tree對象來描述跟蹤的目錄。 Git中有許多樹型引用,其中之一是ref:directory。並且git-diff可以比較任意兩個隨機追蹤文件夾(甚至不是相同的回購)。假設回購已跟蹤兩個文件夾,foo/bar/。現在它在分支master。根據您的需求,foo和bar的差異可以通過git diff master:foo master:bargit diff master:bar master:foo進行。差異可以保存爲補丁,補丁可以部分或全部應用。如果修補程序成功應用,則可以添加和提交更改。

+0

增加了EDIT1和EDIT2。 – klor