代码之家  ›  专栏  ›  技术社区  ›  jsmith

软件开发中的多个程序员。我们如何处理相同的代码并确保它总是被更新?

  •  51
  • jsmith  · 技术社区  · 17 年前

    这似乎是我现在应该知道的,但无论出于什么原因,我都不知道。在这个话题上我也没有太多的运气。

    一个朋友和我一起开始了一个简单的项目,离开工作,我们两个都是很年轻的编程世界,想接受一个简单的教育项目,我们的自由时间…我的问题是,我们希望能够在同一个项目中工作,并且相应地更新这些文件,而不需要我们不断地彼此共享文件。我确信有一些软件是为了这个目的而存在的,或者某种我们可以使用的共享客户机。问题是,我不知道从哪里开始找。

    对于如何或使用什么来帮助这个项目更顺利地进行,一些简单的建议是很好的。这也是我们为什么要在一开始就这么做的一个重要部分。

    更新:

    经过一些研究,我决定使用乌龟SVN。简单的右键单击Addon for Windows将文件更新/提交到托管服务器是非常简单和用户友好的。

    附加说明

    我问这个问题已经有好几年了,我学到了很多东西!如果你在这里有同样的问题,我建议你研究“源代码管理”。我最初接受了一个建议颠覆的答案,甚至说我以“Tortoise SVN”作为我的客户连接到颠覆。就像我们学习的所有东西一样,我现在使用的主要源代码控制是git。它有一个更大的学习曲线,但老实说,它更强大。

    9 回复  |  直到 10 年前
        1
  •  43
  •   Dale    17 年前

    听起来你需要一些源代码管理! 你查过了吗 Subversion (SVN) 完全?有一个很棒的Windows客户端 TortoiseSVN . 两者都是免费的和开源的。

    您可以在其中一台机器上或某个Web服务器上设置Subversion服务器。然后,您都定期将更改提交到服务器,服务器管理诸如修订、附加到提交的注释等事务。通过客户端,您可以执行诸如查看修订之间的差异以及文件中的合并更改(自动或手动)。它还使向项目中添加其他开发人员变得简单,只需让他们访问您的Subversion服务器即可。有SVN plugins for Eclipse 和 Visual Studio 或者您可以使用Tortoissesvn,它可以在命令行上独立运行并与Windows Shell集成(请参见下文)。

    TortoiseSVN shell integration http://olex.openlogic.com/wazi/wp-content/uploads/2009/03/create_repo_tortoisesvn.png

    我最喜欢TurtoSeVN的东西是它完全是语言或IDE独立的,我可以用它来从Eclipse、.NET项目、VS2008、或C/C++开发驱动程序中使用Java项目。

    请注意 亚沃克雷夫 与Tortoissesvn一起装运的工具也会暴露 a COM interface 这可以让你做一些很酷的事情,比如程序检查谁做了最后一次提交,什么时候,最新的版本号等等。我之所以提到这一点,是因为除了Tortoissvn文档中没有太多关于这一点的信息,而且它对我最近编写一个在.NET项目中用于自动调用的VS2008加载项非常有用。Y同步版本号和增量版本号。

    许多站点为开放源代码项目提供免费的SVN存储库访问(或为封闭源代码/商业产品提供付费访问),例如 Google Code 和 Sourceforge . 如果你是一个团队项目的学生,那么这些在线存储库对项目工作也非常有帮助。

        2
  •  9
  •   David    17 年前

    您要查找的软件类型是源代码管理(也称为版本控制)。这是一个很大的话题,但我首先在维基百科中查找它,然后寻找一种与您使用的语言和工具一起工作的源代码管理类型。(例如)Team Foundation Server作为VisualStudio的一种选项,用于良好的全面解决方案等。

    您最终会要求提供有关使用哪个源代码管理工具的建议。对于我们的团队,我们使用SVN(也称为Subversion),这是一个非常好的免费开源解决方案,几乎可以与任何东西一起工作。

    维基百科链接:

    http://en.wikipedia.org/wiki/Revision_control

        3
  •  8
  •   Eric deRiel    14 年前

    简单的答案是你想要某种版本控制软件。

    更复杂的答案是 有 修订控制比 使用 或者用得好。

    如果你刚开始,选择一个容易使用的工具是关键。Subversion是一个不错的选择,因为它有一些很好的GUI实现,但是一旦您开始在命令行级别使用它,它仍然提供了很大的功能和灵活性。

    但是,您选择的修订控制系统比培养使用习惯更不重要,因为使用习惯可以让您真正利用您的工具。经验丰富的开发人员使用最好的工具仍然会陷入设计糟糕或管理不善的源代码存储库中。

    需要考虑的几个问题:

    • 如果你不经常和一贯地更新你的回购协议作为一个惯例,它不会在你需要的时候有太多的用处。

    • 了解不同的人对最佳实践的看法在某种程度上是有用的,但有时最重要的因素只是 是 一个标准,每个参与的人都理解并同意它。

    • 回购组织高度依赖于路径。
      安装和拆卸都很便宜 当你的项目开始的时候。一开始不要害怕挑剔组织结构。这可能是你唯一的机会。

        4
  •  7
  •   David Plumpton    17 年前

    如果你愿意学习一点关于Git的知识,那么你可以在GitHub.com上托管你的工作,并且两个都可以单独工作。

        5
  •  4
  •   Nikola Stjelja    17 年前

    当两个或多个开发人员在同一个项目上工作时,有两件事很重要。首先是使用的工具,其次是商定的过程。

    在您的情况下,工具的使用非常简单。选择一个版本控制系统并学习使用它。选择很多,但最重要的因素是工具支持。例如,酷刑类型的工具对于Windows用户(酷刑、Toruisecvs、酷刑)来说是非常好的,因为它们集成到Windows外壳中,通过在每个文件和目录上应用不同的图标(红色感叹号表示更改,绿色OK等),您可以看到每个文件和目录所发生的事情。

    第二,最重要的是过程。大多数团队都打破了这一点,采用一种方法需要时间,而且所有人都要遵循它。你和你的合作伙伴必须在同一个过程上达成一致,而且你们都需要遵循这个过程。

    这个过程将包括基本的文件夹组织、将放置什么、在哪里、如何以及何时提交/签出以及将放入什么样的代码。

    在我看来,这里有两件重要的事情:

    1. 存储库中的代码必须始终是可构建的,以便另一个人继续工作而不会出现问题。

    2. 每个人都需要知道放什么和放在哪里,例如,将为源代码选择一个文件夹,为数据库选择另一个文件夹等。

    下面是一个简单过程的示例:

    1. 安装存储库服务器(SVN、Mercuiral等)。对你来说唯一的区别就是工具支持。
    2. 商定一个通用的存储库结构(文档、源文件、附加文件)
    3. 每天开始时更新
    4. 经常提交,在每次从存储库提交更新之前
    5. 每天结束时提交
        6
  •  3
  •   Kevin LaBranche    17 年前

    研究源代码管理。这里有一个很好的介绍:

    http://www.ericsink.com/scm/source_control.html

    许多可以免费在线托管,或者只需支付少量费用,这样您和您的合作伙伴就可以通过互联网进行协作,除非您处于共享服务器的情况下,否则您可以与许多源代码管理客户端(如带Tortoise的SVN等)一起执行该路由。否则,GitHub(不是唯一一个)是分布式源代码管理系统。一开始可能有点压倒性,但这是一个例子。

        7
  •  3
  •   tjboring    17 年前

    在过去的6个月里,我已经搬到了吉特,我对此非常满意。但一般来说,cvs svn git是最常见的开源SCM(源代码管理),它们中的任何一个都应该能够满足您的需求。

        8
  •  2
  •   Ash    17 年前

    “或者某种我们可以使用的共享客户端”

    源代码管理可能是官方推荐的方法,但是共享文件的最简单方法是安装类似 DropBox .

    你用你和你朋友共享的用户名/密码注册一个免费的2GB帐户。然后,在您和您的朋友的PC上安装Dropbox客户端,并使用共享帐户。

    运行Dropbox后,会在我的文档下创建一个名为“我的Dropbox”的文件夹。现在, 任何东西 在这个文件夹下,如创建、编辑、删除文件和文件夹,将自动同步到朋友电脑上的“我的Dropbox”文件夹,反之亦然。只需要上网。

    您还可以获取文件的历史记录和修订版本,以便在需要时回滚并还原到早期版本。如果您同时处理同一个文件,就像源代码管理一样,您需要手动合并这些文件,但是Dropbox在这种情况下会保存一个“冲突副本”。

    我自己使用Dropbox已经将近一年了,对它的易用性非常满意。我不为Dropbox工作,也不与他们有任何关系,除了成为一个快乐的用户。

    “真正的”源代码控制系统主要为您提供自动备份、恢复到早期版本的能力以及多个用户编辑源代码的管理网,Dropbox也是如此。

        9
  •  0
  •   oscaroscar    10 年前

    这是一个非常直接但很重要的问题。这是源代码版本控制问题。我自己的经验告诉我要避免主流的Dropbox和Co解决方案,因为它们对源代码不太友好。

    查看您想要的帖子:

    1. 简单,易于安装和使用
    2. 共享代码(浏览和修改)
    3. 看看谁修改了什么和什么时候

    我推荐Git,因为这三个问题的答案都是使用基本工具Git和 Github.com 或 Bitbucket.org .

    cvs和svn很重,没有像github或bitback这样非常方便的Web界面。尽管我是一个很好的cvs粉丝,并且搬到了svn,但我必须承认,与新的git和类似系统相比,它们现在尝起来非常老。

    推荐文章