问题标签 [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 回答
56661 浏览

tfs - TFS:使用来自 main 的更改更新分支

所以,我们有我们的主开发线,我创建一个分支,开发人员 b 创建一个分支。我们都做一些工作。开发人员 b 完成他的工作,合并回主开发线。我知道他的更改会影响我,而不是稍后处理冲突,我想更新我的分支,使用现在在主开发线中的更改,这样我就可以在合并之前在我的分支中处理它们回到主。

我怎么做?

0 投票
1 回答
1300 浏览

git - 在 Git 中合并/重新设置“断开连接”的分支

假设我们在 Git 中有以下情况:

现在我重新设置edge分支更改 B 提交一点点(使用edit)所以它现在看起来像这样:

C' 和 D' 与 C 和 D 的提交相同,但应用在 E 之上(并注意feature分支内的 X 已断开连接)。

现在我该怎么做:

  1. 重新设置/合并feature分支,使其提交看起来好像它们被应用在 D' 之上?
  2. 重新设置/合并feature分支,使其提交看起来好像它们被应用在 E 之上,但没有单独的“合并分支 ...”提交(并且 C' 和 D' 被重写为 C'' 和 D' ')?
0 投票
2 回答
909 浏览

visual-studio-2010 - VisualSVN VS2010 合并失败

作为从 VS2005 升级到 VS2010 的一部分,我们公司正在从 VSS 迁移到 SVN。我正在评估 VisualSVN 的实现——VisualSVN 服务器负责管理存储库,并在 VS2010 中使用 VisualSVN 客户端。我们的工作主要是 Web 应用程序项目。

我在将分支合并回主干时遇到了真正的问题

这是场景(使用 VS2010 VisualSVN 插件执行的所有 SVN 操作):

  • 在给定的 WAP 中,我从被/trunk调用创建了一个分支,/branches/test并将其配置为在 VS2010 中的本地 IIS 下运行,该分支保存在我的硬盘上,远离存储库(位于服务器上)
  • 我已经编辑了主页,/branches/testHELLO WORLD添加到 WAP 的 default.aspx 并提交给/branches/test
  • 我可以通过 VisualSVN 浏览器验证,主干版本没有HELLO WORLD,但分支版本有
  • 我现在在 VS2010 中切换到主干,我收到一条警告“工作副本中有更改。建议在切换之前提交或还原它们”——额外的提交只是告诉我没有任何改变(这是正确的)所以我继续
  • 现在在后备箱里,我确认没有什么可承诺的,只是为了确定
  • 仍然在主干中,我选择“Merge...”,然后选择“Reintegrate a branch”,将 From URL 设置为 [path]/branches/test,将 Merge Depth 设置为“Working Copy”
  • 我收到错误消息“无法重新集成到具有本地修改的工作副本中”。

我对分支的理解是否存在根本性的错误,我的过程是否存在缺陷,或者这是 VisualSVN 的一个特性?

谢谢

0 投票
1 回答
1058 浏览

mercurial - Mercurial - 将两个分支合并为第三个新分支

是否可以将 2 个分支合并到第 3 个新分支,而不是将一个分支合并到另一个现有分支?

0 投票
2 回答
937 浏览

tfs - 如何在不污染基线的情况下以使测试成为可能的方式分支我的代码?

使用 TFS,我们有以下内容:

  • 主要基线
  • 每个开发工作的开发分支。这些被合并回基线。
  • 随每个版本创建的版本分支。错误修复在这里进行、发布并合并回基线。
  • 使用搁置集,如果需要,我们可以在开发分支之间共享代码,而不会污染基线。对代码审查很有用。
  • 当我们将开发更改交付到基线时,我们有一个自动构建启动并自动将我们的更改放置在测试服务器上。

问题是业务分析师在测试服务器上之前无法看到我们的更改,目前在测试服务器上获取我们的更改的唯一方法是将它们检查到基线中。因此,如果 BA 发现有问题,不幸的是,该代码已经处于基线状态,我们将不得不费力将其取回。

有没有一种方法可以改变我们的分支策略或流程,让 BA 得到他们想要看到的东西,而不会污染我们的基线?

0 投票
2 回答
592 浏览

svn - SVN - 发布分支和错误修复

假设我们有一个名为“v1.0”的发布分支。主干中的工作仍在继续(开发未来的版本 - v1.1)。现在我在 v1.0 中检测到一个严重的 BUG,现在必须修复。在release分支修复bug后,它仍然存在于trunk中。如何修复我在发布分支中修复的主干中的相同错误?

0 投票
2 回答
810 浏览

tfs - TFS 项目同时在两个分支上工作

我们在生产服务器上部署了一个 .net framework 1.1 项目。我们希望将其迁移到 .net 框架 4。1 个团队将继续使用 VS2003 修复 .net1.1 上的错误,其他团队将使用 VS2010 迁移到 .net4。在未来的某个时候,两个团队需要合并他们的更改。我们希望下一个生产版本将在 .net 框架 4 中。

在 TFS 方面做这件事的首选方法是什么?

谢谢。

0 投票
1 回答
372 浏览

svn - 为什么将分支提交到仍未触及的主干会导致冲突?

我的第一个大目录合并过程很艰难,希望能找到有关为什么会出现这些错误的线索。

一周前我将trunk/中的代码分支出来,并对branch/myBranch中的代码进行了很多修改,并决定是时候将它们合并到trunk/中了。此后主干中没有任何代码被触及,它与新代码分支时完全相同,所以我认为这意味着不会出现冲突。

似乎是错误的假设,据我所知,在尝试将新代码合并到主干和丢失文件的报告时会遇到一堆冲突。有人可以澄清为什么会这样吗?

这是基本事实:

  • 该代码在修订版 19466 中进行了分支。
  • 后备箱一直没有动过。无更改(上次更改版本:19453)。
  • 该分支(不幸的是?)在本地完成,并包含了一些更改。
  • 我尝试使用以下命令合并来自分支介绍主干的更改svn merge -r19466:HEAD branches/myBranch trunk/:(不管我是站在后备箱里跳过最后一个参数,还是只做上面的事情都没有关系)
  • Subversion 抱怨缺少文件 fooDao。 ! C trunk/fooDao.java

    > local missing, incoming edit upon merge

    该文件在创建分支的同一提交中重命名(19466),但我认为 subversion 应该选择它,因为它是使用svn move. 日志显示了它的祖先:

    ... A /branches/myBranch/fooDao.java(来自 /branches/myBranch/fooDato.java:19452)

  • 如果您想知道为什么即使没有代码更改,修订号也会增加,那是因为它是一个包含许多其他(活动项目)的共享存储库。
0 投票
1 回答
305 浏览

mercurial - Mercurial:多客户项目的存储库布局

我们为多个客户部署了这个 webapp 产品,并考虑从 svn 切换到 mercurial。在 svn 中,我们将主干视为我们项目的“核心”,而为每个客户设置分支。

现在我想知道在 mercurial 中最好的 repo 布局是什么。

可以说该项目基本上由三个主要文件夹组成:html, css, js.

虽然/html客户之间的内容保持不变,但我们在/css&中进行了自定义/js
现在,这些定制存在于单独的文件中,例如skin.css,因此我们可以清楚地分辨出真正的定制定制,从修复/更改到核心/通用文件。

然后,SVN 让我们将部分更改从客户分支提交回主干,这样我们就可以在处理客户项目时修复全局问题。据我了解,mercurial 目前不支持部分提交。

那么,我们如何在 mercurial 中最好地处理这种情况呢?我们是否应该拥有一个中央核心存储库(可能带有发布分支)并将客户项目克隆为单独的(远程)存储库?在一个仓库中拥有所有核心和客户分支会更好吗?

非常感谢任何指针!

0 投票
3 回答
5887 浏览

git - 如何将 git 用于项目模板?

我有一些跨项目重用的模板/起点代码。在处理新项目时,我总是想在模板中添加和更改内容。我猜是在项目旁边开发模板。

我的一些添加是特定于项目的,不应该提交给模板。其他人应该。

我敢打赌我可以为此使用 git,但我不确定如何。我有一个用于模板的 git 存储库,每个项目都有一个。我希望将我所做的一些(但不是全部)提交推回模板。我可以制作一个不会被提交回来的文件子集吗?我应该在一个分支中处理特定于项目的事情,而在主分支中处理模板吗?

我真的很感激任何见解。我的 google-fu 收效甚微。