如何在存储库的两个目录之间进行差异,然后将此差异保存为提交?
EDIT1: 使用案例:有一个名为Moodle的软件,它几乎不基于模块。每个功能都在不同的目录中。 我需要对我已经完成的每项功能进行自定义更改,并且在发布官方软件时,我希望将我的更改集成到新版本中。
EDIT2: 我有一个标有v2.7.0的原始版本。我对30-40个目录进行了自定义更改。现在,与版本v2.7.0相比,我提交了所有更改。 合并&做太多工作了。解决冲突,一步发布v3.2.0。 所以我会将更改拆分为目录(功能)。然后,当我通过v3.2.0重新定义更改时,我可以逐个修改功能/目录更改。 这是我现在想做的工作。
我希望现在更清楚了。
答案 0 :(得分:0)
你想要的是在Git中有点罕见和奇怪。差异是可能的。从技术上讲,Git使用tree
对象来描述跟踪目录。 Git中有许多树形参考,其中一个是ref:directory
。并且git-diff
可以比较任何两个随机跟踪的文件夹(甚至不是相同的回购文件夹)。假设repo已跟踪两个文件夹foo/
和bar/
。现在它在分支master
上。 foo和bar的差异可以通过git diff master:foo master:bar
或git diff master:bar master:foo
进行,具体取决于您的需求。差异可以保存为补丁,补丁可以部分或全部应用。如果成功应用了修补程序,则可以添加并提交更改。