问题标签 [branch]

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 投票
4 回答
42958 浏览

git - 什么是 git 主题分支?

什么是 git 主题分支?它在某些方面与普通分支有什么不同吗?是否有任何不是主题分支的分支?

0 投票
11 回答
2438 浏览

svn - 每一个小变化的分支?

我们有一个客户(谁有一个客户,谁有一个客户),他对代码库(在 PHP 中)的更改请求让我们发疯。我们的第一反应是只在 SVN 的主干中工作,但客户端经常回来并请求需要尽快将某些更改推送到实时服务器。另一方面,其他更改的优先级突然降低,最初是与其他更改组合在一起的(似乎)。

我们正在考虑为每个变更请求使用一个分支。这是疯了吗?还有哪些其他解决方案可能有效?

谢谢!

编辑:这是一个很难选择正确答案的问题。感谢大家的精彩回答。

编辑:我知道我选择的最佳答案并不是特别受欢迎。我也想找到解决这个问题的技术方案。但是现在我认为如果客户想要的软件具有可以以模块化方式部署的功能......这个问题应该在我们使用版本控制系统时解决。它必须被设计到软件中。

编辑:现在差不多一个月过去了,我的同事/客户已经说服我,多个分支机构是要走的路。这不仅是由于客户的精神错乱,而且还基于我们需要能够确定某个功能是否“准备就绪”或“需要更多工作”或其他什么。我没有 SVN,但我们使用 SVN Cookbook 中的建议进行合并:您将分支它分支的修订版合并到头修订版。

此外,使用这个系统,我们在某个时候合并所有分支,这成为新的 QA,然后是实时构建。然后我们从那里分支。

最后编辑(也许):几个月后,这个系统仍在为我们工作。我们为每张工单创建分支,很少出现问题。另一方面,我们确实尝试将事情分开,就人们的工作而言......

两年后:我们现在使用GIT,现在这个系统实际上是相当合理的。

0 投票
5 回答
115116 浏览

svn - 使用 TortoiseSVN 如何将更改从主干合并到分支,反之亦然?

我一直在阅读有关使用 Subversion 1.5 进行分支/合并的文章,使用优秀且免费的版本控制与 Subversion书。我认为我了解如何使用 Subversion 命令行客户端来执行我最需要的操作,它们是:

使用来自主干的更改更新分支

从分支的工作目录运行:

svn 合并http://svn.myurl.com/proj/trunk

将分支合并到主干

从主干的工作目录运行:

svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch

但是,我们使用 TortoiseSVN 1.5 作为 Subversion 的接口。我想知道如何最好地使用 TortoiseSVN 执行这些操作。新对话框在主菜单上提供了三个不同的选项。

  1. 合并一系列修订
  2. 重新整合分支
  3. 合并两棵不同的树

据我所知,TortoiseSVN 总是使用以下语法执行 svn。

svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH

此外,重新集成分支通常会失败,并显示一条消息,指出某些目标尚未合并,因此无法继续,因此我不得不使用选项 #3。

我的问题是:

  1. 如何使用 TortoiseSVN 1.5 将更改从主干合并到分支?
  2. 如何使用 TortoiseSVN 1.5 将分支合并到主干,使用和不使用 reintegrate 方法?
  3. 我应该为每个选项使用上述哪个选项,为什么?

编辑

通过“试运行”测试我发现命令行 Subversion 操作

svn 合并http://svn.myurl.com/proj/trunk

类似于 TortoiseSVN 中的选项 #1(合并修订范围),只要我将修订范围留空。

0 投票
2 回答
151 浏览

merge - 从 PROD 合并到 HEAD 还是从 HEAD 合并到 PROD?

我们有两个分支:1. HEAD - 最新版本 (AKA Trunc) 2. PROD - 发布版本

当您修复已发布版本中的错误时,您会执行以下哪些操作:

  1. 在 PROD 中修复它,然后合并到 HEAD
  2. 在 HEAD 中修复它,然后合并到 PROD

(1) 的优点是,这样您绝对不会通过意外从 HEAD 引入未经测试的代码来损害已发布的版本(假设 PROD 总是比 HEAD 更稳定/经过测试)。

(2) 的优点是一段代码在 HEAD 中的用法可能比在 PROD 中更多,因此如果您仅在 PROD 中修复,您可能无法找到所有此类用法,因此会将错误放入 HEAD。

我个人赞成(1)。你怎么看?

0 投票
3 回答
15365 浏览

tfs - 我应该如何正确摆脱 TFS 分支?

我想知道我应该如何正确摆脱不再有任何目的的分支。现在,即使我删除它们并提交,它们仍然在属性窗口中列为特定分支根(目录)的分支。如果我选择合并,我没有获得合并到已删除分支的选项,这显然是预期的,但因此我对仍然显示在属性窗口中的分支感到困惑。

对此行为的任何解释将不胜感激。

0 投票
2 回答
1054 浏览

svn - 为什么我可以两次创建相同的 SVN 分支?

我能够两次创建相同的 SVN 分支。我希望 SVN 不会允许我再次创建相同的分支。请帮我解决这个问题。

0 投票
5 回答
9686 浏览

git - 是否可以追溯地将一组提交变成一个分支?

假设我有一个 git 存储库并且我一直在做 master,我可以追溯创建一个分支吗?例如:

A - B - C - A1 - D - A2 - E

我想让它看起来像这样:

具体的用例是当我将一堆提交挑选到旧版本分支中并且它需要进入多个旧版本并且我不想在所有这些修订上重复挑选时。

从本质上讲,它本来可以作为一个特性或主题分支,但不是这样创建的。

0 投票
4 回答
21878 浏览

git - Git 提交针对没有分支的标签

如果我在没有创建分支的情况下签出源代码的标记版本,Git 会表明我根本没有与任何分支相关联。很高兴让我进行更改并签入。这些变化去哪儿了?如果我切换回“主”,它们就会消失(被主中的内容覆盖),我似乎再也找不到它们了。是什么赋予了?如果 Git 允许我对本质上是匿名的分支提交更改,我肯定可以将它们取回吗?

0 投票
6 回答
154782 浏览

git - 如何在 Git 分支中搜索文件或目录?

在 Git 中,我如何通过多个分支的路径搜索文件或目录?

我在一个分支中写了一些东西,但我不记得是哪一个。现在我需要找到它。

澄清:我正在寻找我在我的一个分支上创建的文件。我想通过路径而不是内容来查找它,因为我不记得内容是什么。

0 投票
4 回答
3832 浏览

svn - Subversion:将更改从一个分支移动到另一个分支的最佳方式

我有两个分支:X 和 Y。我想用 X (x1) 中的等效项替换 Y 的子目录 (y1)。

目前,我执行以下操作:将 x1 复制到 Y,删除 y1,将 x1 重命名(移动)到 y1:

我觉得挺丑的。。。

我怎样才能以更聪明的方式做到这一点?