标签: branching-and-merging

合并来自不同存储库的Mercurial分支

我试图弄清楚如何将分支从单独的仓库合并到当前.

我有以下内容:

PJT1 - 包含分支默认和foodog

PJT2 - 包含分支默认值

来自PJT2,我做了以下几点:

$ hg fetch -y ../PJT1 -r foodog -m "this is a test"
Run Code Online (Sandbox Code Playgroud)

现在,如果我查看PJT2,我会看到正确的文件和更改.但是,如果我这样做hg branches,我会得到以下内容:

[someone@myhome pjt2]$ hg branches
foodog                         1:c1e14fde816b
default                        0:7b1adb938f71 (inactive)
Run Code Online (Sandbox Code Playgroud)

hg branch揭示以下内容:

[someone@myhome pjt2]$ hg branch
foodog
Run Code Online (Sandbox Code Playgroud)

如何从PJT1的foodog分支机构获取PJT2 分支的内容default

mercurial branching-and-merging

30
推荐指数
1
解决办法
4万
查看次数

如何将一个远程分支覆盖而不是合并到另一个分支?

我有两个分支.分期和Beta.暂存中包含代码(包括文件),我根本不需要.如何让Beta完全覆盖Staging,以便这些文件或代码都不会从Staging合并到Beta.

我看到有些人建议这样做:

git checkout staging
git merge -s ours beta
Run Code Online (Sandbox Code Playgroud)

但我不相信预先存在的文件会是"代码冲突",因此不会被删除.我错了吗?如果我是对的,我将如何做到这一点?

git branching-and-merging

30
推荐指数
3
解决办法
3万
查看次数

将一个更改合并到Git中的多个分支

我习惯有一个主分支(主)和主题分支工作.但我现在正在开展一个项目,有两个主要分支(主要和实验),我不确定如何最好地将我的主题分支合并到两个分支中?

这是正确的方法吗?如果没有,有人可以让我知道正确的方法.

(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix

(master)$ git checkout bugfix
(bugfix)$ git rebase experimental
(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix
Run Code Online (Sandbox Code Playgroud)

谢谢.

git version-control branching-and-merging git-branch

29
推荐指数
1
解决办法
2万
查看次数

在TFS 2012中重命名分支有什么后果?

我在许多地方都读过,在TFS 2010中重命名分支是相当有问题的:你可能会丢失刚刚重命名的分支的历史记录(如本文或本SO问题所示)

我在TFS 2012中找不到任何关于这些问题的提及.在重新命名TFS 2012中的分支之前,我应该注意哪些后果?

branching-and-merging tfs2012

28
推荐指数
2
解决办法
2万
查看次数

按功能划分 - 优点/缺点?

我目前正在从事一个项目,在这个项目中,分支和合并从一开始就没有起到很好的作用.为了改变这种状况,我们一直在讨论各种不同的方法.我假设每个人都有自己的哲学关于如何做这种事情,所以它似乎也在这里.

我们一直在谈论的一件事是按功能分支.我们碰巧对这种特殊的方法有什么不同的看法.

你有过这样做的经验吗?它运作得好吗?你有问题 - 什么样的问题?

我知道这个问题确实没有正确的答案,但我发现听到全世界其他开发人员的意见非常有趣,而stackowerflow似乎是一个很好的选择.

tfs branch branching-and-merging

27
推荐指数
3
解决办法
1万
查看次数

为什么git将分支合并到自身?

我今天早上醒来,看了我的开发团队在BitBucket上的一个私有存储库的提交历史.我看到了这个:

匿名犯了fcde879MERGE

https://bitbucket.org/abc/xyz的分支"开发"合并到开发中

这有点不寻常.我的猜测是,这是从没有正确配置git的新机器推出的.不过,我不确定为什么这样做.在BitBucket上,它显示两个单独的哈希作为提交父项,但它没有其他提交的"查看原始提交"选项.

我检查了那个分支,拉了,并手动查看了日志.

sidious@DS-1:/path/to/repo$ git log -1 --format=raw
tree 2931d14f48e61eaf0bbe0660af5b5dd76c07f063
parent 6bb38dee681df7620ffa42b6790641a7873166f2
parent f59c82e19e3e79310a53e273bab78139c49ff063
author root <root@somemachine> 1437069530 +0000
committer root <root@somemachine> 1437069530 +0000

Merge branch 'develop' of https://bitbucket.org/abc/xyz into develop
Run Code Online (Sandbox Code Playgroud)

据我所知,6bb父级在开发分支上,而f59父级似乎来自不同的分支.很难说出发生了什么.

我搜索但找不到答案,我需要回到研究中,因此我在这里提出我的问题:为什么git将一个分支合并到自身?或者说,为什么这个命名法被用作提交消息?

git version-control merge branching-and-merging

27
推荐指数
3
解决办法
8215
查看次数

如何在依赖于另一个尚未合并的git分支的新git分支上工作?

这是我的情景:

  • 我的项目遵循主题分支模式.

  • 我创建了一个分支来修复一些问题,让我们调用这个分支problem_fixes.我进行了更改,并提交了拉取请求.

  • 我需要开始处理一个新功能,所以我创建了一个名为my_feature的第二个分支并提交了一系列更改.

  • 在某些时候,我意识到my_feature依赖于尚未被接受和合并的problem_fixes(my_feature分支依赖于第一个分支的一些修复,没有它们我无法取得进展).

如果没有捣乱,我的项目会更快地接受并合并我的第一个分支,这里最好的流程是什么?

我想知道我是否需要基于problem_fixes(而不是master)启动新的第三个分支并在我的提交中合并到my_feature?或者,如果我简单地将problem_fixes合并到my_feature并继续工作也可以 - 假设problem_fixes首先合并为master,当my_feature合并时理论上应该没问题(?)

git branch feature-branch branching-and-merging

26
推荐指数
2
解决办法
3701
查看次数

仅显示Git日志中一个分支的历史记录

我正在为我的项目使用Git并尝试遵循最佳实践:

  1. 我在一个主题分支上工作
  2. 准备好后,我将主题分支合并到我的dev分支中git merge --squash.这使我的开发分支保持清洁.
  3. 每当dev分支稳定并且团队决定它的发布时间时,我们将dev分支合并到master分支中,而不使用squash,并将提交的标记作为版本发布.

这应该保留我们的历史,并使用gitk,我们可以看到所有提交的位置.但是,我希望能够看到应用于分支的提交.我试过了:

git log master
git show-branch
Run Code Online (Sandbox Code Playgroud)

这些都不显示只是在历史的主分支.有没有办法轻松做到这一点?

git git-log branching-and-merging

25
推荐指数
2
解决办法
2万
查看次数

TFS 2010跨团队项目分支 - 最佳实践

我在根据TFS Ranger团队提供的最佳实践了解如何配置TFS时遇到了问题.问题是这样的:

我公司有几种产品可以使用共享的公共代码库.

> $/Core
>  -> /Main/Source (Parent Branch)
> 
> $/Product1
>  -> /Main/Source
>  -> /Main/Source/Core/Source (Child Branch from $/Core)
>  -> /Main/Source/...
> 
> $/Product2
>  -> /Main/Source
>  -> /Main/Source/Core/Source (Child Branch from $/Core)
>  -> /Main/Source/...
Run Code Online (Sandbox Code Playgroud)

因此,我们有一个团队集合,并说这个例子有三个团队项目.($/*是一个团队项目)

我们的初始版本分支有点痛苦.我们不是分支/ Main到/ Releases,或/ Main to/Development,而是分别对每个项目进行分支.(不是团队项目......解决方案项目.)

这是由于无法嵌套分支根.(参见TFS错误:TF203028和TF203071)

根据TFS游侠指南和我们修订的分支发布,修补程序,开发方法,我们应该从/ Main而不是/ Main/Source/Proj1,/ Proj2,/ Proj3等分支.这只是一个相当大的烦恼.

理想情况下,我们希望:

> $/Product1
> -> /Main/ (Branch - Parent)
> -> /Releases
>    -> /1.x
>       /1 Service Pack (Child Branch from $/Product1/Main …
Run Code Online (Sandbox Code Playgroud)

tfs shared-libraries tfs2010 branching-and-merging

25
推荐指数
2
解决办法
1万
查看次数

我们可以承诺已经与master合并的分支吗?

我有一个分支,说" XYZ ",我工作并在该分支上做了一些提交,然后将它与我的主分支合并.现在,我想在我的代码中做一些更改,并希望使用相同的分支.我没有删除分支.

我可以再次使用同一个分支吗?我可以再次将新提交与master合并吗?或者是创建另一个分支的唯一解决方案?

git version-control branching-and-merging

25
推荐指数
1
解决办法
1万
查看次数