Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请推荐内部共享源代码的解决方案_C#_Share - Fatal编程技术网

C# 请推荐内部共享源代码的解决方案

C# 请推荐内部共享源代码的解决方案,c#,share,C#,Share,我是一名C#开发人员,我们公司有4个团队,每个团队用大约5年的时间用C#/Java进行开发。在这几年中,我们编写了一些应用程序(一些是为了提高我们自己的工作效率,一些是为了评估新学到的技术),或者从互联网下载了一些示例程序以满足一些特定的场景 问题是,这些应用程序/程序不是集中在一个网站上存储和介绍的。有些应用程序/程序是在源代码控制下进行的——没有介绍,有些是个人保存的——除了所有者自己之外,没有人知道它的存在。你知道,如果你在发现轮子在角落之前就发明了轮子,那是相当令人沮丧的(我们经常在不同

我是一名C#开发人员,我们公司有4个团队,每个团队用大约5年的时间用C#/Java进行开发。在这几年中,我们编写了一些应用程序(一些是为了提高我们自己的工作效率,一些是为了评估新学到的技术),或者从互联网下载了一些示例程序以满足一些特定的场景

问题是,这些应用程序/程序不是集中在一个网站上存储和介绍的。有些应用程序/程序是在源代码控制下进行的——没有介绍,有些是个人保存的——除了所有者自己之外,没有人知道它的存在。你知道,如果你在发现轮子在角落之前就发明了轮子,那是相当令人沮丧的(我们经常在不同的团队中打断这种情况)

因此,有谁能为我推荐实现这一目标的任何解决方案:

  • 还原带有简介的源代码
  • 与Git集成,或方便跟踪源代码版本
  • 易于搜索
  • 易于设置和维护。我们需要在公司内部设置此类服务
  • 看起来很像sourceForge,也许:)我想可能已经有适合我的产品了,不是吗

    非常感谢您的关注

    ------------更新--------------


    最后,我们选择并正在托管10多个存储库,它与Git(和许多其他源代码管理工具)集成良好,支持wiki编写文档,用户报告错误非常方便,托管项目需要功能。它还鼓励我们的开发人员根据自己的利益进行开发和共享。

    可能是fisheye,但它不是免费的:


    希望这能有所帮助。

    您只需要使用GitHub或您自己的SVN服务器的集中式源代码存储库。听起来你的开发环境在西部已经有一段时间了;你只需要在镇上找个新警长


    如果这真的是一个团队环境,我还建议建立CI;我相信TeamCity对于单个代理安装是免费的(编辑:如评论所述,最多可免费安装3个代理)。它可以执行单元和集成测试、代码覆盖率、FxCop分析,以及基于SVN或其他repo的签入的其他自动构建任务。这可以是你的“警长”;任何回购协议的签入都将由TeamCity进行检查,如果构建“中断”,TeamCity将能够说出谁签入了导致构建中断的更改。

    您的问题实际上是一个哲学问题。根本的问题是,没有人对这种流程拥有所有权,而您有4个团队,他们都不在同一页上。听起来你想拥有这个,这是件好事

    这个工具可以是任何东西,但可能应该是像Mercurial或Git这样的分布式源代码控制。Subversion可以工作,但是相信我,如果您的团队也是分布式的,那么分布式系统将更容易运行。如果你在Windows平台上运行,我个人喜欢Mercurial;它比Git集成得好得多。您可能需要几天的时间来设置具有权限的存储库,但将所有内容放在同一位置是正确的方法。然后,这只是一个有人来管理这个系统的问题,并确保任何新项目都能立即投入到源代码控制中

    除此之外,你最大的障碍是训练。给他们提供合适的工具(每个人最好使用相同的工具),比如插件或shell集成。告诉他们如何创建新的存储库、拉、分支、合并等。但最重要的是,要像鹰一样观察他们几个月,直到你对发生的事情感到满意为止。


    如果您不介意将其作为托管解决方案,我建议使用
    它价格非常实惠,我相信它能满足您的所有要求。

    我还支持@KeithS对TeamCity的回复。我们使用TeamCity,并且喜欢它,易于安装,帮助我们在CI方面领先几光年,并且非常接近自动化部署。轻微的修正。TeamCity 6最多可免费提供3名构建代理。1人可观看整个画面。这主要不是一个技术问题。但在这一点上,我将加入Mercurial和subrepos。把它设置好,你就拥有了你所需要的一切。