在朦胧和遥远的过去,我们决定打破与我们的配置程序之一的兼容性。然而,由于仍然会有运行较旧软件的远程单元,因此我们需要在构建版本中保留旧版mgmt软件。短暂的“CP -a”后,我们结束了包含目录结构:有没有办法将git提交从我的树的一部分应用到另一部分?
mgmt-app
mgmt-app.old
发展继续和MGMT-应用积累了一些修正,一些新的功能和一些通用功能。正如您大概可以猜到现在注意到mgmt-app.old没有这些修复程序。如果我能够选择相关的修补程序并保留诸如注释之类的有用内容,但将提交应用于mgmt-app.old将会很好。显然,他们不适用,因为他们已经在树上应用到mgmt-app!
我们使用git来版本控制存储库。有没有办法将这些提交“归还”到树的不同部分?这是通过手动应用“patch -p”补丁来解决的吗?
你应该为这些目录使用不同的分支或者甚至是存储库,而不仅仅是复制仓库中的数据。祝你好运,你的杂乱的存储库。 – KurzedMetal 2012-04-13 16:45:35
@KurzedMetal:不幸的是,需要在同一系统版本中构建两个版本的mgmt-app。这是因为一个通用的代码库用于管理软件(可以与多个设备通信)作为系统软件(当然这只能管理自己)。这种混乱通常是由于释放实际产品所需的妥协。 – stsquad 2012-04-16 12:11:53
如果我是你,我会将'mgmt'目录保存在一个存储库的不同分支中(以便能够在它们之间进行合并或选择)和另一个存储库中的通用代码。然后,我可以使用'git submodule'或者反过来将'mgmt'目录导入到通用代码中(无论您需要什么,都可以将常用代码导入每个'mgmt'目录)。 – KurzedMetal 2012-04-16 13:42:44