Questions tagged «version-control»

跟踪,存储和检索源代码修订的编程学科。

6
在模块化系统上使用版本控制的策略
让我们假设(为简单起见)我们有一个具有客户端和服务器功能的应用程序。有一个更好的主意是将一个存储库用于两个或两个单独的存储库? 混合它们可能会更容易跟踪相关的更改并维护相关的分支(即协议演化),但另一方面,会使单个开发更加混乱...

2
许多小的脚本,一个或多个存储库?
同事和我自己都遇到了一个我们有很多看法的问题。 当前,我们有一个git存储库,我们将所有cronjobs保留在其中。大约有20克朗,它们除了它们都是小型python脚本并且对于某些活动必不可少之外,并没有真正的关联。我们使用一个fabric.py文件来部署和requirements.txt文件管理所有脚本的要求。 基本上,我们的问题是,是否将所有这些脚本都保存在一个git存储库中,还是应该将它们分离到各自的存储库中?通过将它们保存在一个存储库中,可以更轻松地将它们部署到一台服务器上。对于所有脚本,我们只能使用一个cron文件。 但是,这感觉不对,因为20个cronjob在逻辑上不相关。此外,使用一个在requirements.txt文件中的所有脚本,这是很难搞清楚什么是依赖一个特定的脚本,它们都必须使用的软件包的版本相同。 我们可以将所有脚本分离到各自的存储库中,但这会创建20个需要记住和处理的不同存储库。这些脚本中的大多数都不是很大,解决方案似乎过大。 一个相关的问题是,我们是对所有cronjobs使用一个大crontab文件,还是对每个cronjobs使用单独的文件?如果每个人都有自己的设备,那么一个crontab的安装如何避免覆盖另一个19个?这似乎也很痛苦,因为随后需要20个不同的cron文件进行跟踪。 简而言之,我们的主要问题是将它们紧密地捆绑在一起作为一个存储库,还是将它们通过自己的require.txt和fabfile.py分离到自己的存储库中?我们觉得我们也可能正在寻找一些非常简单的解决方案。有没有更简单的方法来解决此问题?

7
将错误修正注释保留在代码中是否很好?
我的团队正在使用透明脚本作为版本控制。我正在从事的项目还没有开始7-8年前。在项目的整个生命周期中,我们发布了多个bug修复服务包等。使用bug跟踪系统可以跟踪问题,并且大多数从事bug修复的人员都遵循将注释包含在START /中的例程。用日期,作者,错误ID等结束块 我觉得这无关紧要,并使代码混乱且难以维护,这些都是检入注释/标签等中必须包含的内容,我们可以在其中保留工作产品的其他生命周期信息。 最佳实践是什么? 该代码的某些审阅者坚持要删除有关该错误的注释,并进行修复以简化其寿命。以我的理解,他们必须通过将文件映射到视图来审阅文件,并获取分支的更改日志并进行审阅。如果我可以将一些最佳实践提交更新的代码进行审查,将很有帮助。

5
分别对每个文件进行版本控制的版本控制系统有哪些优势?
在过去的几年中,我已经使用了几种不同的版本控制系统。对我来说,它们之间的根本区别之一是它们是分别对文件进行版本控制(每个文件具有其自己单独的版本编号和历史记录)还是对整个存储库进行版本控制(“提交”或版本代表整个存储库的快照) 。 一些“按文件”版本控制系统: CVS ClearCase 可视SourceSafe 一些“整个存储库”版本控制系统: SVN 吉特 水银 以我的经验,每个文件的版本控制系统仅导致问题,并且需要更多的配置和维护才能正确使用(例如,ClearCase中的“ config specs”)。我有很多实例,其中一位同事正在更改不相关的文件并破坏了理想的隔离开发路线。 这些按文件版本控制系统的优点是什么?每个文件版本控制系统没有的“整个存储库”版本控制系统有什么问题?

11
对于本地开发,有什么好的轻量级资源库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 我正在本地进行一些原型制作,希望保留在源代码管理中(出于备份和还原目的),但我不一定要将其发布为开源文件或在线提供给其他人查看。 您将为本地开发推荐哪种源代码控制系统?对于我的情况进行的任何设置或操作都将非常感谢。 我在找: 易于设置和管理。因为这是我的本地计算机,所以我只能使用Window OS,并且真的想尽量减少环境配置更改和必要的学习曲线的数量。只会有一个用户,所以我不想配置访问权限等。 资源开销低,我想在我的开发人员机器上本地托管,所以我不希望它占用我的CPU。我也不打算存储大量数据。 熟悉 我以前使用过SVN客户端。Visual Studio集成是一个不错的选择。 随身携带。如果必须将其移动到外部驱动器或另一台计算机上。 自由。是的,我想要这一切,而且不想为此付费。

6
谁负责建立自动构建系统?
我是公司的项目经理。我与几个开发人员团队一起使用标准的,众所周知的CVS版本控制系统。我希望看到实施了持续集成和自动化构建,以防止构建中断和错误部署潜入生产服务器的问题。 我确定我可以自己进行设置,但是我不想自己这样做,有两个原因: 我没有时间 我有自己的职责,包括市场营销,与开发团队以外的团队成员与其他利益相关者沟通,与客户沟通以及项目规划。 最重要的是,我是项目经理。我的目的是提供领导能力,而不是微观管理开发团队。 在开发团队中找到对设置有热情的人,我可以做些什么?考虑到开发人员需要Java,Spring和Google App Engine的知识,开发人员是否适合此任务?有什么技巧可以帮助人们在害怕改变的地方促进改变?

3
我们如何跟踪每种环境中的代码版本?
我的团队目前使用相当简单的分支/部署过程,如下所示: ┌────────┐ ┌────┐ ┌──────┐ Environments: │ DEV │ │ QA │ │ PROD │ └────────┘ └────┘ └──────┘ ▲ ▲ ▲ │ │ │ ┌────────┐ ┌────┐ ┌──────┐ Builds: │ DEV │ │ QA │ │ PROD │ └────────┘ └────┘ └──────┘ ▲ ▲ ▲ │ │ │ ┌────────┐ ┌────┐ ┌──────┐ Branches: │ …

6
什么是最基本,最简单的协作开发平台(PHP项目)?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 我需要使用codeigniter在相当普通的PHP应用程序上与4-5个程序员合作。我们在一个城市中有5个不同的地点,所有程序员的教育程度都不高,我假设他们中的大多数人从未使用过任何版本控制系统。 您是否可以推荐一个非常非常易于使用的平台来与像这样的项目进行协作?我所谈论的只是比共享保管箱文件夹更复杂的东西。


3
Github组织存储库,问题,多个开发人员和分支-最佳工作流程实践
奇怪的标题,是的,但是我认为我有足够的基础要掩饰。 我们在github上有一个带有专用存储库的组织帐户。我们要使用github的本机问题/拉动请求功能(就代码审查和功能讨论而言,拉动请求基本上正是我们想要的)。我们通过defunkt找到了工具中心,它具有一个很酷的小功能,它能够将现有问题转换为请求请求,并自动将当前分支与其关联。 我想知道是否最好的办法是让组织中的每个开发人员都分叉组织的存储库来完成其功能工作/错误修复等。这似乎是一个相当可靠的工作流程(基本上,这是github上每个开源项目所做的工作),但是我们希望确保我们可以跟踪问题并从组织存储库ONE来源提取请求。 所以我有几个问题: 在这种情况下,按开发人员分叉的方法是否合适?看来这可能有点过大。我不确定我们是否需要为每个开发人员准备一个分支,除非我们介绍没有直接推送访问权限并且需要审查其所有代码的开发人员。在这种情况下,我们只想针对那些开发人员制定这样的政策。那么,哪个更好?所有开发人员都在一个存储库中,还是每个人的叉子? 是否有人对集线器工具(特别是拉动请求功能)有经验?如果我们按开发人员分叉(甚至针对特权较低的开发人员),那么集线器的请求请求功能将对上游主存储库(组织的存储库?)的拉取请求进行操作,还是有不同的行为? 编辑 我对问题,分支和请求请求进行了一些测试,发现了这一点。如果在组织的存储库上创建问题,则将存储库从组织存储到您自己的github帐户,进行一些更改,并合并到存储库的master分支。尝试运行hub -i <issue #>时,出现错误User is not authorized to modify the issue。因此,显然,工作流程将行不通。

5
SQL Server的版本控制
我正在开始一个新项目,并使用SVN(带有Tortoise)作为我的版本控制系统。我想知道是否有可能使用同一系统来维护SQL Server数据库。 我想对我的表/函数/视图/ procs / triggers / etc进行版本控制。但不是我的数据,因为无论如何它们都将是测试数据。我不太确定该如何设置。我遇到了一些选择,但我想知道是否缺少任何我,是否有指导或其他帮助我开始使用它的东西。 我已经听说过Red Gate,但我正在寻找免费的东西(或至少非常便宜的东西)。我知道我总是可以自己写点东西,但我并不是真的想花时间在上面。 我遇到的一件事是放在一起称为ScriptDB4Svn的开源软件包。有人使用过吗?好吗?它可以做我需要做的事情吗,设置起来很简单吗?

4
是否有理由在签入代码中保留冲突标记?
考虑冲突标记。即: <<<<<<< branch blah blah this ======= blah blah that >>>>>>> HEAD 在促使我提出此问题的特殊情况下,负责的团队成员刚刚完成了从上游到我们分支的合并,并在某些情况下将其留为注释,以作为刚刚过去的文档解决。他将其置于编译状态,测试通过,因此它没有您想的那么糟糕。 尽管本能地,我真的对此表示反对,但是作为恶魔的拥护者,我可以理解为什么他会这样做: 因为它向其他团队开发人员强调了合并带来的变化。 因为那些在特定代码方面更精通的人然后可以解决注释所说明的问题,从而使他不必猜测。 因为上游合并是很痛苦的事情,并且可能难以证明有时间妥善解决所有问题的时机,所以需要一些半完全的FIXME通知,因此为什么不使用原始冲突作为注释来记录此问题。 我的反对是本能的,但我希望能够合理地证明其合理性,或者更明智地看待我的立场。任何人都可以给我一些例子,甚至是一些经历,其中人们与其他人在一起做得不好,和/或为什么这样做不好的原因(或者您可以扮演魔鬼的拥护者并予以支持)。 我自己直接担心的是,如果我一直在编辑有关文件之一,拉出更改,遇到真正的冲突,但也加入评论的文件,那显然会很烦人。那我确实会有一个非常混乱的文件。幸运的是,这没有发生。

7
从TFS到Git
我是.NET开发人员,并且多次使用TFS(团队基础服务器)作为源代码控制软件。TFS的良好功能是: 与Visual Studio的良好集成(因此我几乎可以直观地完成所有操作;没有控制台命令) 便捷的退房,入住流程 易于合并和解决冲突 简单的自动化构建 分枝 现在,我想将Git用作我的开源项目的骨干,资源库和源代码控制。我的项目使用C#,JavaScript或PHP语言,并使用MySQL或SQL Server数据库作为存储机制。 为此,我只是使用了github.com的帮助,并在那里创建了配置文件,并下载了Git的GUI。到这部分是如此简单。 但是我几乎坚持不下去了。我只想做一些简单(真的很简单)的操作,包括: 在Git上创建项目并将其映射到笔记本电脑上的文件夹 检出/检入文件和文件夹 解决冲突 那就是我现在要做的。但是,似乎GUI并不那么用户友好。我希望GUI具有一个Connect To...或类似的名称,然后希望显示一个项目列表,当我选择一个项目时,希望看到该项目的文件和文件夹列表,就像浏览TFS项目一样在Visual Studio中。然后,我希望能够右键单击文件,然后选择check-in...或之类的check-out东西。 我期望很多吗?我应该怎么做才能像TFS一样轻松使用Git?我在这里想念什么?

6
如果愿意,是否应该允许开发人员使用VSS?
我向公司介绍了Mercurial。我喜欢它,但这是我的第一个版本控制经验。我将其与NetBeans PHP一起用于Web开发。 另一个从事公司内部应用程序开发的开发人员喜欢使用Visual Source Safe,并且不想切换。他在Visual Studio环境中工作。 除此以外,所有其他开发商都购买了Mercurial。不过,在大多数情况下,我们所有人都非常独立地工作。 我正在努力朝着正确的方向发展这个部门,我已经为每个人在Kiln上建立了一个帐户,我希望也能使每个使用Fogbugz的人都走上一条路(因为目前没有维护任何错误数据库。)从未使用过VSS,但我听说过非常糟糕的事情。 如果他愿意,只允许他继续使用VSS会更好,还是让他加入Mercurial符合最大利益?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.