问题标签 [branching-and-merging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
180 浏览

git - 试图找出在 git 中使用子模块的正确方法

我正在尝试在 git 中正确设置子模块,并且我想确保我正确使用它。

我有一个名为MyProject. 我有一个二级存储库,其中包含我们所有的代码生成的数据访问,称为Data. 我想设置DataMyProject.

Data除非有架构更改或小错误修复,否则很少更改。

假设我正在添加一些MyProject需要更改架构的新功能。MyProject通常我会创建一个被调用的分支NewFeature并在那里签入我的所有更改,直到它准备好与 master 合并。我还想创建一个分支,以便在我的更改准备好合并之前Data,任何架构更改都保持独立。Master

什么是正确的工作流程,或者甚至有一个?

谢谢!

0 投票
1 回答
421 浏览

svn - svn导入混乱,主干上什么都没有

我研究了如何在没有主干的情况下在现有 svn 存储库中创建主干目录并全部移动,它可能适用,但是,我有一个“主干”,但是开发人员(高级开发人员)导入项目的方式到 svn repos 可能会提供值得回顾的差异。

看起来,查看日志,开发人员在本地创建了一个 svn 树,一个trunk/branches/tags目录,创建了目录中的所有文件branches,然后在初始导入时svn,提交树干和标签作为分支提交的一部分。

这意味着没有副本到分支的历史记录。近乎保真的日志是:

所以svn merge在这里真的行不通。trunk是初始提交的一部分,历史并没有真正允许干净的合并。

我可以使用上面的复制和提交建议吗?或者在这种情况下还有其他必要的方法吗?

0 投票
1 回答
1205 浏览

tfs - 没有毫无根据的合并的 TFS 2010 修补程序分支/合并策略?

我正在尝试了解如何在 Team Foundation Server 2010 中使用分支和合并。以下策略适用于 Web 开发团队。

我的想法是有5个文件夹。Main 文件夹、Development 文件夹、QA 文件夹、Production 文件夹和 Hotfix 文件夹。主文件夹将仅包含主分支。开发人员将直接在主分支中工作,或者在 Development 文件夹中创建一个新分支,然后在完成后合并回主分支。当我们想要创建发布版本时,我们将主分支提升为 QA 1.0.0 分支。当该分支稳定时,我们将该分支提升为生产分支 1.0.0。生产分支变为只读,然后 QA 分支将合并回主分支。我们还使用 QA 1.0.0 分支来分支修补程序。所以这里的例子是,在 QA 分支进入生产之后,我们发现了一些错误。然后我们将 QA 分支 1.0.0 升级为 Hotfix 1.0.1 分支。当 Hotfix 分支稳定时,我们将其升级为生产分支 1.0.1。当在 Production 1.0.1 分支中发现新错误时,我们会从 Hotfix 1.0.1 分支创建一个新的 Hotfix 1.0.2 分支。当该分支稳定时,我们将该分支提升到生产分支 1.0.2。所有这些都在 Team Foundation Server 2010 中运行良好。

我在 TFS 2010 中遇到但不知道如何以好的方式解决的问题是如何将修补程序提升到主分支。我不想将我的修补程序合并到 QA 1.0.0 分支中,因为我可能需要为来自 QA 分支 1.0.0 的不同客户创建不同的修补程序。所以我需要将 Hotfix 1.0.1 分支直接合并到主分支中。

我知道我可以使用命令行工具通过毫无根据的合并来解决它。这是唯一的出路吗?还有其他更好的建议如何解决我想要完成的事情吗?用户界面工具?如果我想以某种方式使用的分支/合并策略可以得到改进,我也将不胜感激。

0 投票
1 回答
1743 浏览

mercurial - 我可以将对多个 mercurial 子存​​储库的更改提交到一个新的命名分支吗?

我有一个 mercurial 存储库,里面有多个子存储库。存储库有一个 Visual Studio 解决方案,其中包含存储库和子存储库中的项目。

假设我想实现一项新功能,该功能需要更改存储库中的主项目并更改解决方案中的其中一个依赖项项目(比如说,在依赖项中添加一个新的共享接口,并在主要项目)。

然后我想提交更改,但要提交到一个新的命名分支,因为它尚未完成并将稍后合并。使用 tortoiseHg 我在存储库中提交更改,指定要创建的新分支。提交反过来提交子仓库的更改,但在我的测试中,它不会在其存储库中创建新分支,而只是将更改集添加到当前分支。

我可以明确地执行对子存储库的提交并在那时指定分支名称,但我希望有一种方法可以将存储库中的整个更改集一次性提交到每个存储库中的新分支,这样我的工作流程就更干净了。这可能吗?

0 投票
2 回答
2039 浏览

svn - 是什么让 Git 在合并方面比 Subversion 更好?

可能重复:
合并:hg/git vs. svn

我听说/读到 Git 和 DVCS 通常比 Subversion 和集中式版本控制系统更好。我听说的原因之一是 DVCS 中的合并比集中式系统中的要好得多。

两者在合并方面有什么区别?例如,当你重新集成一个分支时,是什么让 Git 比 Subversion 更好?

0 投票
2 回答
481 浏览

perforce - perforce 是跟踪变更集独有的增量还是仅存储整个文件?

我试图将开发人员在工作分支中所做的一些工作合并到一个稳定的分支中。自从 STABLE 和 HEAD 分支的共同祖先分离以来,文件 a、b 和 c 已被至少十几个变更集更改。

我希望由于该开发人员在文件 a、b 和 c 中分别更改了 5 行,因此当我从 HEAD 集成到 STABLE 分支时,我会在待处理的 changset 中获得他的更改,然后我可以查看并提交这些更改。

相反,它似乎已经对文件 A 进行了所有更改,因为这两个文件是分支的,并应用了我同事的工作副本中也存在的所有这些更改。

换句话说,perforce 变更集中似乎没有记录我的同事实际更改的内容,以及之前包含的文件。

如果我浏览提交的变更集,我可以看到我同事的文件版本与前一个版本之间的差异。但是,这似乎并不能决定合并的内容。

变更集不是意味着“在文件的修订版 X 和修订版 X+1 之间进行的一组更改”吗?任何人都可以帮助我理解“集成变更集”的含义,而实际上,Perforce 似乎不跟踪更改,它跟踪文件。

完全有可能我做错了所有事情,并且希望任何关于如何在 Perforce 工作分支和稳定分支之间准确安全地合并的指针,没有你不想集成到的东西稳定的分支正在整合。似乎无论在产品中实际进行的更改多么简单,合并实际上对我都不起作用。

0 投票
4 回答
6006 浏览

svn - SVN:将两个分支合并在一起

我们有多个开发人员在一个项目上工作。我们正在使用一种特征分支方法进行分支,其中我们执行以下操作:

  1. 所有维护工作和错误修复都在主干上完成
  2. 所有新功能都在新分支上完成
  3. 分支定期更新(通过合并从主干到分支的更改)

但是,我们遇到了需要将 2 个分支 [我们称之为 feature-branch-1 和 feature-branch-2] 合并在一起的情况。实现这一目标的最佳方法是什么?我的一部分认为我们应该创建一个新分支。然后,将该分支与第一个功能分支 [feature-branch-1] 合并。然后与第二个功能分支 [feature-branch-2] 合并并处理冲突(很可能是项目文件)。

有没有更好的办法?

多谢你们!

0 投票
3 回答
211 浏览

svn - 使用 Subversion 和 TortoiseSVN,如何清除本地操作历史记录?

  1. 我将文件的更改从一个分支合并到主干分支。
  2. 我错误地解决了冲突,想从头开始,所以我将主干文件恢复到原始状态。
  3. 我重做第 1 步,但没有任何反应。在合并窗口中,我检查了日志,我想合并到这个文件中的所有分支都是灰色的。这是 TortoiseSVN 告诉我的方式“你已经将这些更改合并到这个文件中,不需要第二次这样做。”

由于没有任何内容,因此这必须是客户端问题。我尝试了清理,但没有帮助。

0 投票
2 回答
587 浏览

git - Git - 不要合并删除

我有一个develop带有文件的分支:

  • 索引.php
  • 测试.php

我正在release从中创建分支,在其中设置版本,进行小错误修复等,并删除不进入生产版本的test.php 。然后我想将此分支合并到develop但想将 test.php 保留在开发分支中。怎么做?默认行为git merge只是删除文件。

0 投票
2 回答
291 浏览

svn - svn -- 自上次合并以来的时间

我需要一份“自上次合并以来的时间”报告。我们有一个分支,其中集成了来自其他分支的更改。为了让每个人都保持同步,我们鼓励分支主管执行从集成线到各自分支的合并。

我正在研究一个提交后挂钩,每次在集成行上完成提交时都会发送一个报告,说明:

  1. 源分支
  2. 自集成和其他分支之间上次合并以来的时间

svn mergeinfo 是起点,但还有哪些其他命令可以帮助我获取此信息?