如何处理具有不同布局的 Visual Studio 解决方案中的 Git 子模块?

2024-03-04

我们使用 Visual Studio 2010(C#)进行开发,不久前从 SVN 迁移到 GIT。现在,我们尝试将我们的存储库(相当大 - 约 30.000 个文件)拆分为许多 git 存储库 - 每个解决方案一个。 这些解决方案共享一些项目,主要是我们内部开发的库,并且喜欢从所有解决方案中添加到其中。

新的存储库采用平面布局。每个项目一个子目录(共享项目是子模块)。 在大型旧仓库中,项目采用树形结构。

子模块中的外部引用会出现问题。在新的存储库中,引用项目的路径可能是“......libs\someproject”,而在新布局中,正确的路径将是“..\someproject”。

我们已经对此进行了一些编辑大战,并且不热衷于更多。

我能想到的半生不熟的解决方案:

  • 在 ...csproj.user 中使用“参考路径”,并从版本控制中排除此文件(必须为每个开发人员以及每次 reopsitory 清理后重做)

  • 针对每种情况使用分支,并尝试教每个人“真正的”提交应该去哪里以及“环境更改”提交应该去哪里(子模块已经不是最简单的概念......)

  • 嵌入二进制文件而不是子模块(但是对子模块进行更改怎么样?不同的 log4net 版本怎么样?)

有谁知道一个明智的解决方案?


既然您要求一个合理的解决方案,我只能建议您考虑建立自己的 NuGet 服务(查看http://www.MyGet.org http://www.MyGet.org寻求灵感)

http://nuget.codeplex.com/ http://nuget.codeplex.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理具有不同布局的 Visual Studio 解决方案中的 Git 子模块? 的相关文章

  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 确定用于映射网络驱动器的域和用户名

    使用带有 SP1 的 Windows 7 Enterprise 但我希望得到适用于 Windows XP 2003 2008 Vista 7 的通用答案 从命令提示符处 我执行net use命令将 Z 驱动器映射到另一台计算机上的共享 但我
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 当出现错误时如何删除远程分支?

    我尝试过以下命令 但失败了 git push origin next remote error denying ref deletion for refs heads next To blah git remote rejected nex
  • git Branch -d :致命 - 无法查找 HEAD 的提交对象

    假设我在一个裸存储库 远程 中 如果我尝试使用以下命令删除分支git branch d
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • TeamCity 将功能分支推送到主分支

    有没有办法将成功构建的功能分支推送到另一个分支 我想要这样的东西 Git 存储库 Gitorious GitHub 等 分支机构 master 当前项目的代码 质量保证 代码等待 QA 的分支 功能分支 许多远程分支 开发人员可以在其中开发
  • 取消后调用 boost::asio 异步处理程序没有错误

    我的代码在单个线程中使用 boost asio 和 io service 来执行各种套接字操作 所有操作都是异步的 每个处理程序都依赖于boost system error code 特别boost asio error operation
  • 如何升级 Windows 中 git svn 使用的 SVN 版本?

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • 如何使用命令行压缩文件?

    我想使用批处理文件命令 Windows XP 批处理文件 压缩目录 例如 如果我想解压缩一个文件意味着我可以使用jar xf file zip java bat 文件命令 就像我想要一个命令行批处理来压缩目录一样 如果您使用的是 Ubunt
  • (VS2017)运行所选代码生成器时出错:“序列不包含元素”

    我正在跑过微软的教程之一 https learn microsoft com en us aspnet core tutorials first mvc app 关于 MVC 开发 我在尝试创建各种元素时遇到错误 视图 控制器等 我收到的错
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru

随机推荐

  • ASP.NET:显式本地化与隐式本地化?

    在我看来 隐式本地化相对于显式本地化的优势在于 如果您有多个属性要针对给定控件进行本地化 那么这是一种更经济的语法 如果您只需要本地化一些文本 我会使用 asp Localize 控件 该控件仅具有呈现到 UI 的单个属性 文本 有理由使用
  • 如何平滑圆角矩形的角,Swing?

    当我尝试制作圆角矩形时 我的角变得非常像素化 有什么办法可以平滑它们吗 这是一张图片 注意角落 以下是我子类化并重写绘制方法的按钮的代码 带有像素化角的按钮 public class ControlButton extends JButto
  • .NET 类型的私有成员的命名约定 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么[重复]

    这个问题在这里已经有答案了 在我的应用程序中 我严重依赖 JavaScript 来增强用户界面 但所有数据都来自数据库并由 PHP 处理 默认情况下 我使用 echo 语句来 及时 替换所需的值 如下所示 var myVariable 然而
  • 根据州名缩写在美国地图上绘制数值

    我有一个包含所有状态的数据 如下所示 在这里提供一个样本 state name value x AL 250 AK 900 MT 1000 NJ 10000 WY 500 现在我需要根据州缩写在美国地图上绘制这些数字 value x 我尝试
  • 外键未填充主键值

    我已经寻找答案但没有找到 我有 2 张桌子 两者都有自动生成的 PK 表 2 中的 PK 是表 1 中的 FK 由于它们都是自动生成的 因此我假设表 1 中的 FK 将使用表 2 自动生成的值填充 但它不起作用 表1中的FK最终为空 这是我
  • Angular Material 通过 $http 调用自动完成

    我想做的是角度材质自动完成 md 自动完成 https material angularjs org latest api directive mdAutocomplete 其中的数据是从对我的 REST API 的 AJAX 调用中动态检
  • 不使用左手递归解析布尔表达式

    我正在尝试匹配这个 f some thing something else f 某物 是一个函数调用 它是一个表达式 是一个布尔运算符 别的东西 是一个字符串 也是一个表达式 所以布尔表达式应该是 expression operator e
  • 部署新版本后,即使清除缓存后,浏览器也会看到旧版本的 Angular 应用程序

    我有一个 Angular 11 应用程序 正在使用以下命令构建用于在生产中部署 npm install npm run build prod outputHashing all 我遇到的问题是 部署后 当我使用浏览器访问应用程序的 URL
  • 如何动态添加更多组件 React Native

    我想在单击按钮后添加更多组件 您可以分享代码或想法以便我可以实施吗 如图所示 每次用户单击添加按钮时 都会添加一行 组件 这是哪里state https facebook github io react native docs state
  • 引用 Oracle 中视图的外键

    我尝试使用外键引用视图 但收到此错误 错误 ORA 02270 此列列表没有匹配的唯一键或主键 不过 我已在此视图上创建了一个主键 并在 TOAD 的 约束 选项卡中对其进行了验证 这是我试图创建的表 CREATE TABLE QUESTI
  • Cronjob:找不到命令

    我有一个如下的 cronjob 10 root cd some directory python3 FILE py gt gt Output txt 2 gt 1 如果我从常规命令行运行该命令 它工作正常 但是当从 cronjob 运行时
  • 函数内的 ggplot:它什么时候不识别参数,什么时候识别参数? [复制]

    这个问题在这里已经有答案了 考虑以下两个函数 library ggplot2 testdata lt as data frame cbind rep c 1 4 each 50 rbinom 100 50 5 names testdata
  • 在 ARMv7 的上下文中,当 mmu 必须进行页表转换时,Linux 内核一对一映射内存的优势是什么

    Linux内核虚拟地址是一对一映射 所以通过减去一个PAGE OFFSET到虚拟地址我们将得到物理地址 就是那样virt to phys http lxr free electrons com source arch arm include
  • 如何使用Ajax和JSON制作下拉菜单?

    这是我用来显示类别菜单的代码OpenCart具有不同的级别 它有效 但每次点击后它都会产生越来越多的XHR finished loading POST and XHR finished loading GET有时通过单击来停止页面
  • HDINSIGHT hive,MSCK REPAIR TABLE table_name 抛出错误

    我有一个名为employee 的外部分区表 带有分区 年 月 日 每天都会有一个新文件出现在特定日期的位置 调用今天的日期 它将是2016 10 13 TABLE SCHEMA create External table employee
  • 在 ExpressJS + Reactjs 中传递数据以查看

    我有一个应用程序 其中一部分是用 Twitter 登录 成功登录后 我通常会将用户数据传递给模板 app get function req res next log The Home page has the user info req s
  • C# 依赖注入运行时(动态)注册

    我正在使用 VS 2017 和 NET Core 使用依赖注入 我想在运行时动态注册我的服务 我的目标是编写在单独的程序集中实现服务接口的服务实例 然后 服务名称 程序集名称将被添加到某种配置文件 或数据库表 中 我的注册代码会做这样的事情
  • OpenMP 中使用循环的并行部分

    我想知道是否有任何技术可以使用 for 循环在 OpenMp 中创建并行部分 例如 我不想创建 n 个不同的 pragma omp 部分 而是使用 n 次迭代来创建它们for loop每个部分都有一些变化的参数 pragma omp par
  • 如何处理具有不同布局的 Visual Studio 解决方案中的 Git 子模块?

    我们使用 Visual Studio 2010 C 进行开发 不久前从 SVN 迁移到 GIT 现在 我们尝试将我们的存储库 相当大 约 30 000 个文件 拆分为许多 git 存储库 每个解决方案一个 这些解决方案共享一些项目 主要是我