Revit加载项的GIT分支和项目设置

Revit加载项的GIT分支和项目设置,git,Git,我有一个需要维护各种版本的项目(这是一个DLL项目,我们使用多个版本的Revit)。我认为分支是最好的机制,但它似乎不允许不同的调试设置或引用文件。源文件本身似乎可以工作,但可能我还没有遇到将存在的问题。如果我的本地机器上有一个存储库,那么如果分支机构似乎无法区分这些内容,那么如何才能让我维护参考DLL的多个版本以及项目设置?因此,为了缓解您的困难,您根本不需要做任何分支机构的工作!其实很简单!不同版本的Revit具有不同的生成版本。如果要应用某一组代码(因为某些代码在较新版本的Revit中已被

我有一个需要维护各种版本的项目(这是一个DLL项目,我们使用多个版本的Revit)。我认为分支是最好的机制,但它似乎不允许不同的调试设置或引用文件。源文件本身似乎可以工作,但可能我还没有遇到将存在的问题。如果我的本地机器上有一个存储库,那么如果分支机构似乎无法区分这些内容,那么如何才能让我维护参考DLL的多个版本以及项目设置?

因此,为了缓解您的困难,您根本不需要做任何分支机构的工作!其实很简单!不同版本的Revit具有不同的生成版本。如果要应用某一组代码(因为某些代码在较新版本的Revit中已被弃用,或者您必须以不同的方式获取
元素
属性…),则只需对其进行定义。因为已经定义了构建版本,所以将使用这些名称。例如,对于我们的版本,我们将其定义为
RV2015
RV2016
RV2017
,现在是
RV2018
。当我们需要为特定版本执行特定的代码块时,它非常简单:

#if RV2015
    //Do this block
#elif RV2016
    //Do this block
#elif RV2017
    //Do this block
#elif RV2018
    //Do this block
#endif
不需要分支机构。不需要git。话虽如此,我还是建议您使用git进行源代码控制。它非常有用。我看到人们因为在来源上犯了错误而不知道何时何地发生了错误,因此失去了一个月的工作。让团队成员在本地分支机构完成他们的工作,然后将他们提交给主分支机构,这样您就可以跟踪谁在做什么、在哪里和何时;如果出现故障,只需恢复更改即可解决问题

然而 如果您特别希望为不同版本使用分支,可以通过VisualStudio.com设置源代码管理

一旦您创建并设置了您的帐户,并上传了您的源代码,您将需要创建一个主分支。上载所有源之后,您希望将存储库克隆到本地磁盘。将此文件夹设置为一个新的文件夹-一个独特的文件夹,除了
Documents->visualstudio(Year)->Projects
文件夹之外。这就是你现在要做的

这是您将开始使用VS的git进行源代码管理的时候。启动VS时,VS中有两个选项卡:解决方案资源管理器和团队资源管理器-您希望后者用于源代码管理(请参见上图)。你会在房子旁边看到一个绿色的小插件图标——这就是你连接到远程分支进行同步的方式

下一步-创建分支

这是最简单的部分。在团队资源管理器主页(房屋图标)中,您希望单击分支。当你在那里时,它看起来是这样的:

右键单击主分支并选择“创建新分支”。您应该获得以下屏幕:

给你的分支机构起个名字,比如
RV2016
RV2017
等等。。。一旦有了这些分支,只需将其中的代码(它从Master或您创建它的任何分支复制)替换为您想要的版本

一旦您拥有所有分支机构: 要将它们存储到在线回购,只需右键单击分支并选择“发布”。这会将其发送到在线回购。如果您对分支进行了更改,则可以转到“同步”选项卡并推动对分支所做的更改*注意:必须为此签出分支


就这样。如果我想到了其他内容或需要添加内容,请检查是否有更新。

是否需要存储基于Revit版本的多个版本?所以您需要一组代码来为Revit 2016执行此操作,为2017执行此操作,依此类推??正确???@UchihaItachi是的,正确。对于大多数版本,大部分代码(视图、视图模型等)将保持不变。但是项目设置和参考文件将特定于revit版本。我现在使用的是克隆,但这似乎造成了多个版本的相同文件的问题(如viewmodels,在不同版本之间不会更改)。感谢您的深入了解。我认为这是一个针对代码位的创造性解决方案,但我仍然不认为它解决了我真正想要的问题:每次切换版本时,目标可执行文件的调试器设置都必须更改(同样,RevitAPIUI和RevitAPI的参考DLL应该是Revit的相应版本)。我同意Git的有用性。当我想在家里而不是在办公室里完成一些事情时,这是从拇指驱动器升级而来的。我发现这种方法是最有效的。如果你一心想为所有事物创建独立的分支,那么我也可以向你展示这一点。几个问题。你用的是什么IDE?你用什么语言编码?您目前使用什么进行源代码管理?我使用Visual Studio 2015社区,C#并使用git进行源代码管理。请查看我编辑的答案。请不要忘记将此标记为答案,如果这对您有效,请进行投票。如果你有任何问题,请告诉我。谢谢你,但这些都是我几年来一直在做的事情。我的问题的细节还没有在你的回答中提到。我当然感谢您抽出时间,但我对如何将git用于实际的代码文件感到满意。项目设置是我反复指出的,特别是调试目标可执行文件和参考文件的特定版本(RevitAPI和RevitAPIUI)在git分支模型中似乎无法区分。