Questions tagged «branch»

“分支”是版本控制系统中用来表示独立开发线的术语。根据系统的不同,存储库可以包含一个或多个分支。当需要将更改从一个分支传播到另一个分支时,将合并分支。

4
从Github分支安装Gem?
在我的gemfile中,我有这个: gem "authlogic", :git => "git://github.com/odorcicd/authlogic.git", :branch => "rails3" 如何将其安装为gem,以便进行测试?

3
重新安置分支机构,包括其所有子级
我有以下Git存储库拓扑: A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 通过重新feature分支,我希望重新构建整个子树(包括子分支): $ git rebase feature master A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 但是,这是实际结果: C' (feature) / A-B-F (master) \ D (feature-a) \ / C \ E (feature-b) 我知道我可以通过执行以下操作轻松地手动修复它: $ git rebase …


5
何时才是删除git功能分支的正确时间?
我不想最后出现82个特征分支,因此我想知道将特征分支合并到母版后立即删除特征分支的潜在缺点。 工作流程: git co -b feat-xyz hack hack git ci hack some more git ci git co master git merge feat-xyz smoke test git br -d feat-xyz 这里有什么问题吗?

3
显示直接对分支所做的提交,而忽略Git中的合并
使用git时,有没有办法显示对分支所做的提交,而忽略合并带来的所有提交? 我正在尝试查看在分支上所做的代码更改,而忽略了我们在合并的其他分支上所做的更改。我知道几乎不可能以这种方式显示差异,但是我希望能够找出我需要审查的提交。
86 git  merge  branch  diff 


5
将更改从分支b应用于a,而不合并或添加提交
我的情况是,我有一个分支,对构建过程进行了重大改进(分支A),而在另一个分支中,我正在开发一个不相关的功能(分支B)。因此,现在当我在分支B处破解时,我想提取在分支A中编写的内容,因为我想要更快,更轻松的构建。但是,我不想“污染”分支B,只需将分支A的更改添加到未暂存的更改即可。 我已经尝试过的内容(当站在branchB上时): git merge --no-commit branchA 不起作用,因为它会使您陷入合并。如果没有,那将是完美的。 git checkout branchA -- . 不起作用,因为它在branchA..branchB之间而不是在master..branchA之间应用更改。 还要别的吗? 编辑:是的,分支A上的更改已提交。在此示例中,只有一个分支具有构建改进,但是在功能分支上,我可能要应用多达N个分支进行构建改进。
85 git  merge  branch 

8
Git:如何找出标签在哪个分支上?
我目前正忙于一个有很多分支的项目,并且我有一个用于最后更改的标记,该标记在其中一个分支上完成。但是我不清楚这个标签在哪个分支上。 如何找出标签在哪个分支上?
84 git  tags  branch 

3
Git-如何在选定文件上强制合并冲突和手动合并
我们维护的Web应用程序具有公共主分支和许多并行分支,每个安装一个,每个分支都有一些特定的更改。源代码在git中进行管理,当我们需要将功能和错误修正从master分支转移到并行分支中时,它是一个了不起的工具。但是很少有敏感文件,自动合并通常会产生不好的结果。因此,如果可以以某种方式标记它们,则合并会容易得多,并且每次合并都会导致需要手动合并的冲突。 我搜索了一个答案: 我正在使用--no-commit和--no-ff合并选项,但这并不相同。 在这里和这里,有人问同样的问题,但没有解决方案。 类似的情况似乎是如何防止使用包含以下内容的.gitattributes合并文件:somefile.php merge = ours。我试图找到一些合并选项,该选项会产生冲突或强制进行手动合并,但到目前为止没有找到。 .gitattributes包含:somefile.php -merge永远不会自动合并,因此会强制进行手动合并。这是90%的解决方案,但我寻求的是尝试自动合并并将其标记为冲突,无论是否成功。但这到目前为止是最接近解决方案的。 (...感谢查尔斯·贝利的澄清...) 有人建议编写自定义合并驱动程序(1,2),但如何做到这一点还远未清晰。 编辑:变体4。描述
82 git  merge  branch  conflict  manual 



4
Subversion:我可以签出,修改然后使其成为分支吗?
我从后备箱到本地DIR进行了结帐,并在那里进行了许多本地更改。现在,我不想将其提交回主干,但我希望从该本地版本创建一个分支。那可能吗? 可我只是树干复制到一个分支,然后cd DIR和svn switch分支? 更新:感谢您的回答,它起作用了!总结步骤: cd DIR svn copy . new-branch-URL svn switch new-branch-URL . (注意点)

4
Git分支删除
在Git中,分支的“删除”是什么意思? 它会从存储库中消失吗?还是可以通过via导航git branch? 我真正想做的是将一个分支标记为“死胡同”,即该分支距离主节点太远了,尽管该分支下有一些好主意,但没人可以以此为起点。喜欢保留它,以供参考。
79 git  branch  git-branch 

5
在Mercurial上回退合并
您如何扭转合并对极化分支的影响而又不至于痛苦呢? 这个问题困扰了我几个月,我终于放弃了。 您有1个存储库,其中有2个 命名分支。A和B。 A上发生的更改将不可避免地发生在B上。 直接在B上发生的更改绝不能在A上发生。 在这种配置中,将“ B”合并为“ A”会在存储库中产生可怕的问题,因为对B的所有更改都像在A中所做的一样出现在A中。 从这种情况中恢复的唯一“正常”方法似乎是“回退”合并,即: hg up -r A hg backout -r BadMergeRev --parent BadMergerevBeforeOnA 看起来一切正常,直到您决定以后以正确的方向合并,并且最终会发生各种令人讨厌的事情,并且在特定分支B上被擦除/注释掉的代码突然变得未擦除或未注释。 到目前为止,除了“让它做事,然后手动解决所有问题”之外,还没有可行的可行解决方案,而且说实话有点麻烦。 这是说明问题的图像: [原始图像丢失] 文件C和E(或更改C&E)必须仅出现在分支b上,而不出现在分支a上。此处的修订版A9(分支a,修订版9)是问题的开始。 修订版A10和A11是“回退合并”和“合并回退”阶段。 修订版B12是无用的,错误地反复删除了原本不打算删除的更改。 这种困境造成了很多挫败感和蓝烟,我想结束这一困境。 注意 尝试通过钩子或策略来禁止反向合并可能是显而易见的答案,我发现将这种情况搞糟的能力相当高,而且发生这种可能性的可能性很大,以至于即使采取对策,您仍然必须假设不可避免地会发生这种情况,以便您可以在解决时解决它。 详细说明 在模型中,我使用了单独的文件。这些使问题听起来很简单。这些仅代表可以是单独一行的任意更改。 同样,为了增加伤害,在分支A上进行了实质性更改,留下了常设问题:“使分支A的更改与分支B的更改发生冲突,分支B的更改看起来像是在变回(并退出),看起来像是在更改”在分支A上,“ 关于历史重写技巧: 所有这些追溯解决方案的问题如下: 我们有9000次提交。 新鲜克隆因此需要半小时 如果某个地方甚至存在一个错误的存储库克隆,它的一种似然又会回到与原始存储库的联系,然后重新将其重新敲打。 每个人都已经克隆了该存储库,现在已经进行了几天提交了。 这样的一个克隆恰好是一个在线站点,因此“擦除该克隆并从头开始” =“ big nono” (我承认,以上许多内容有些愚蠢,但它们超出了我的控制范围)。 唯一可行的解​​决方案是那些假设人们可以并且将做错所有事情的解决方案,并且有一种方法可以“消除”这种错误。
77 mercurial  merge  dvcs  branch 


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.