Questions tagged «version-control»

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

1
用于编辑某人的拉取请求的礼节
我在GitHub上拥有一个存储库,有人通过一次提交就向该存储库发送了拉取请求。我只想部分实现他的解决方案,并使用用户所做的大约一半代码更改。在这种情况下我该怎么办? 制作其版本的分支,然后返回并复制并将要保留的“旧”代码从原始版本粘贴到第二个提交中。这可能会使提交之间的差异看起来大于实际差异,并抛出诸如之类的东西git blame。 将我要保留的代码复制并粘贴到另一个新的commit中。这意味着他不会因对代码的宝贵贡献而受到赞誉。 与上述相同,将他的一些代码复制到新提交中,但是将提交的作者更改为他而不是我。从技术上讲,他没有写出所提交的确切代码,所以我不确定这是否会被皱眉。但是至少他对使用的这些行有归属。


7
如何使用版本控制
我正在localhost中用php开发一个网站,当其模块完成时,我将其上传到云中,以便我的朋友可以对其进行alpha测试。 在继续开发的过程中,我有很多文件,而且我无法跟踪编辑或更改的文件等。我听说过“版本控制”功能可以管理所有文件,但不确定其工作方式。 因此,我的问题是:在我开发网站时,是否有一种简便的方法/服务/应用程序可用于跟踪所有编辑/更改/新文件并管理文件。在完成模块后,我想将其上传到云中(我正在使用Amazon Cloud Service)。如果新文件出了点​​问题,我可能想回到旧文件。也许单击或单击两次,就可以查看自上次上传以来已编辑或更改的文件?

4
将DVCS用于单独开发人员是否有优势?
现在,我在服务器上使用visual svn,并在个人计算机上安装了ankhsvn / totoise。它可以正常工作,我不需要更改,但是如果我看到使用DVCS的一些好处,那么我可以尝试一下。 但是,如果在没有其他人的情况下使用它没有意义或不同,那么我不会打扰。 我再问一遍,当您是唯一的开发人员时,使用DVCS有什么好处吗?

8
版本控制中的代码应如何存储?
版本控制中的代码应如何存储? 开发人员友好?这样程序员就可以快速获取最新的代码,并可以在不做许多更改的情况下从其编辑器运行它?(例如指向dev DB..etc的配置文件) 要么 它应该对生产友好吗?源代码应采用易于在生产环境上部署的方式,并且当开发人员采用最新版本时,他应根据开发需求进行更改。

11
在代码库的不同部分上工作时修复错误
这至少发生在我身上一次。我在代码库的某些部分上工作,而在不同部分中发现了一个小错误,该错误使我无法完成当前正在尝试做的事情。修复该错误可能就像更改单个语句一样简单。 在那种情况下你会做什么? 修复错误并将其与您当前的工作一起提交 将当前工作保存到其他位置,在单独的提交中修复错误,然后继续工作[1] 继续您应该做的事情,提交代码(即使代码已完成) 破坏构建 无法通过某些测试),然后修复错误(和 构建 使测试通过)在单独的提交中 [1]实际上,这意味着:将原始存储库克隆到其他位置,修复错误,提交/推送更改,将提交拖到您正在使用的存储库中,合并更改,然后继续工作。 编辑:我改变了第三,以反映我的真正意思。

2
为Maven构建Git存储库的最佳方法
我需要一些有关如何在Git中构建项目的建议。我们使用Java,而Maven是我们的构建工具。Maven kinda假定您所有项目最终都有一个共同的祖先。当事情没有完全按照Apache基金会设置项目的方式进行设置时,Maven可能也是真正的戏剧女王(使用发行插件的任何人都可能知道我在说什么)。 我们想要一个用于控制插件版本和构建配置(仓库配置,要构建的工件,命名约定,插件版本等)的顶级父pom。Maven希望我们所有的IT项目都在该主项目的子文件夹中。这意味着该组织需要进行大量的Git回购。 这将导致非常嘈杂的环境。如果有两个团队从事不相关的项目,那么他们将不得不不断地从另一个团队引入合并。理想情况下,我希望每个项目有一个仓库。 但是,这种情况与Maven的极其分层的模型存在冲突,后者要求子项目是子文件夹。 我需要一些有关人们如何协调这两种模型的建议...谢谢!

3
经理阅读版本控制提交
我们的经理正在监视我们所有项目中的Git承诺;通常这不是问题,我喜欢这样一个事实,即版本控制提供了所有正在发生的工作的日志,尤其是对于以后的审核和分析(以防万一出现问题)。 但是,该经理发表了一些评论,询问人们在看到提交中看到“样式修复”的提交或在我们的任务管理系统中未引用故障单编号的任何提交消息时,人们在做什么。 有社会或技术解决方案吗? 进一步的信息:这是一个维护项目,因此发生了很多“必须先执行A,然后是B,然后是C,然后是D,最后要实现X”的任务。 更多信息:特定的提交消息向管理器发出了标志,它接近“包含了一种更好的X,Y和Z方式”,这更多是重构消息,而不是简单的样式修复。

6
当其他人迅速提交代码库时,我该如何重构它?
我在一个私有项目中,该项目最终将成为开源项目。我们有一些团队成员,他们具有足够的技术来构建应用程序,但没有专门的开发人员来编写干净/美丽的代码,最重要的是长期可维护的代码。 我已经着手重构代码库,但这有点笨拙,因为与我不经常接触的另一个国家/地区的团队中的某人可能会更新此完全独立的内容。 我知道一种解决方案是快速沟通或采用更好的PM实践,但我们还不算大。我只想清理代码并将其很好地合并到他已更新的内容中。使用分支机构是否合适?尽力而为?还有吗

17
我为什么要写一个提交消息?
我为什么要写一个提交消息?我不想,而且我认为它每次都很愚蠢。 我使用的GUI前端将不具名,它将迫使您执行此操作。即使他们在命令行上使用VCS,我每次都会听到其他人在这样做。 如果我每天提交几次,但是还没有完成功能,那我在写什么呢?我只有在多次提交后才写一条消息,我觉得是时候使用微型标签了,还是当我做一个实际的标签时。 我是对的还是我错过了什么?我也在使用分布式系统

5
持续集成工具在一个单独项目中提供什么优势?
如果您正在做一个单独的项目-您是否会使用CI工具从存储库中进行构建?我在团队环境中使用了Hudson和Cruise Control,在该环境中,任何人只要签入任何东西就必须立即构建。 我认为版本控制的价值仍然显而易见,但是我是否需要在每次提交后进行构建,就像我只是在本地计算机上进行构建一样,没有人提交?

5
发烧期间如何进行有效的代码审查?
发布的最后期限是明天,您的同事最终完成了对于此发布至关重要的任务,项目经理站在您的肩膀上,并敦促您最终进行构建,并且您在审核过程中注意到同事的代码中存在缺陷。不是关键的东西,但是如果不是明天发布的东西,您将不会放手。更糟的是,您需要自己完成工作,并需要尽快完成。所以你会怎么做?尽管面临压力,您还是提出反对意见? 我发现的一种方法是将该提交临时合并到另一个分支上,并留待以后检查。如果问题只是表面上的问题,并且是唯一仍在等待代码审查的问题,则它可以工作。但是,有没有更有效的方法来处理此问题?例如,您是否建议让一个人只进行代码审查和测试?

3
向小型团队介绍版本控制分支策略
我是最近刚从一家公司开始的承包商。 团队是由3位开发人员组成的,其中包括2位初级到中级开发人员,以及即将在同级别开始的另一位开发人员和我本人(6年xp)。对于这两个现有的开发人员来说,这是他们从大学/学院毕业后的第一份工作,而且他们之前从未有资深开发人员来监督他们的工作。 没有明确的版本控制策略。开发人员在主干上进行所有开发,然后从其开发机器直接部署到生产中。现有团队不熟悉分支。 我正在改变所有这些,并引入CI,TDD测试/登台/生产服务器等,以及与此相辅相成的版本控制策略。 源代码控制系统是TFS,我以前从未使用过。它被配置为一个巨型存储库。 我已经为他们写下了一些建议,但是考虑到团队的经验,我还有什么要补充/修改的? 版本控制政策 开发在主干上完成 如果更改估计要花费一周以上的时间,则应在分支上完成,并定期从主干合并到分支中,以阻止两者不同步。 释放为生产代码创建的分支。该分支应该只包含稳定的代码。我们可以有一个发布分支,每个sprint从主干更新一次,或者我们可以每周创建一个单独的发布分支。 如果需要进行影响生产代码的紧急错误修复,则在发布分支上进行修复,然后合并回主干。 如果我们采用一个发布分支策略,则主干将在每个sprint接近sprint末尾时合并到release分支中。 如果我们采用每个发布策略独立的分支,那么主干永远不会合并到Release分支中 在某些情况下,如果分支之间的差异太大,可能有必要在不同的分支上进行两次错误修复。如果我们正在做短距离的冲刺,那么这应该不会经常发生。 我计划有三台服务器。测试环境始终在存储库中运行最新代码。一个暂存环境,该暂存环境正在运行用于暂存/测试“ Release Candidate”代码和UAT用途的最新候选候选版本,以及生产环境。 我计划执行此操作的原因是,到目前为止,该客户端仅完成了内部软件。最新的项目是针对高知名度的媒体客户的,我的感觉是团队需要采用比他们目前更为专业的开发模型。 例如,此刻,用户可以通过错误报告给团队打电话。开发人员找到并修复该错误,在自己的计算机上进行快速测试,然后直接部署到生产中。没有自动化测试或其他任何东西。 事后看来,我认为功能分支太远了,我将删除它。 因此,从本质上讲,它可以归结为a)完全没有分支)b)发行分支和主干,以及c)每个发行版本和主干的发行分支。 我倾向于后者。我最初的想法是,我将同时拥有一个发布候选版本和一个发布版本,可以同时在单独的服务器(UAT /生产)上运行,但是实际上,主干在任何时间点都是发布候选版本,因此每个释放趋于疯狂。我唯一的想法是,如果我们不希望我们的涉众看到开发代码,那么我们可能需要一个单独的候选发布分支,但是YAGNI以及所有这些.....

5
哪个版本控制系统可以管理所有方面?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 几个月前,我钻研了Subversion和GIT,感到很失望。他们可以很好地处理源代码,但不能处理其他方面。例如,受版本控制的网站需要管理文件/目录所有权,文件/目录的读写访问权限,访问控制列表,时间戳,数据库内容。和外部链接。是否有一个版本控制系统可以像从一个月前的备份中重新加载一样完美地完成还原?

4
梯形逻辑程序的源代码控制是否有现实/有用的解决方案
似乎几乎不存在用于可编程逻辑控制器(PLC)的梯形逻辑(LL)程序的版本控制。可能是因为LL是一种视觉语言,并且倾向于存储在二进制文件中,或者可能是因为源代码控制尚未在过程控制工程界“流行”-或今晚我的Google-Fu表现不佳。 您知道用于此类系统的版本控制的任何现实且有用的解决方案吗? 定义: 实际=对程序的更改由用户跟踪,并且可以还原和合并 有用=系统与可视化LL设计器集成在一起,不仅限于单个PLC制造商提供的LL,而且不花费可观的金钱吗? 注意:我听说有人使用SVN或Mercurial等来跟踪二进制文件,但是我不认为diff / merge功能会显示可读性差异。 附录: 最初,我们只需要支持Allen-Bradley PLC。现在,我们还有西门子和MicroLogix PLC。仍在寻找可行的解决方案...

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.