我正在使用git-tfs
,我想知道是否可以使用git-tfs
合并两个TFS分支。我有两个分支$ / MyCompany / Dev& $ / MyCompany的/释放-3.3。 Release-3.3源自Dev分支。两者都使用git tfs检出不同的git存储库。
我想将更改重新合并到Dev分支中。这可以通过git-tfs
来实现,还是我不得不尝试使用TFS工具来实现?
答案 0 :(得分:10)
从git-tfs 0.16开始,您可以管理TFS分支(使用branch
命令),这样您现在可以轻松地初始化现有分支,创建一个分支并合并TFS分支!
自0.19发布以来,您可以对2个TFS分支进行git合并并在TFS中进行签入(使用rcheckin),它将作为合并变更集进行检查:https://github.com/git-tfs/git-tfs/blob/master/doc/commands/rcheckin.md#checkin-a-merge-changeset
唯一的限制(由于TFS)是在与git合并之前已经在TFS中检查过所有提交并在TFS中检查它。
因此,您现在可以比使用2TFS分支更容易合并并在...中检查它们。
答案 1 :(得分:6)
我找到了一个很好的,如果hacky这样做的方式。 Git tfs使用git config管理它对TFS区域的认识。具体为每remote
3个属性; url,repository和fetch,例如:
tfs-remote.default.url=http://tfsserver:8080/tfs/collection
tfs-remote.default.repository=$/Product/Branch/Component
tfs-remote.default.fetch=refs/remotes/default/master
您可以通过使用不同的名称remote
再次设置这3个属性来添加其他default
。例如:
tfs-remote.feature_branch.url=http://tfsserver:8080/tfs/collection
tfs-remote.feature_branch.repository=$/Product/FeatureBranch/Component
tfs-remote.feature_branch.fetch=refs/remotes/default/feature_branch
您可能需要立即发布git tfs bootstrap
。
然后您可以发出:
git tfs fetch -i feature_branch
然后使用以下方法合并提交:
git merge tfs/feature_branch
答案 2 :(得分:-1)
我不是git-tfs用户,但我过去用git-svn做过这个(我相信有类似的方法)。我认为你的主要问题是你有两个回购。如果将两个远程分支添加到同一个git仓库,则应该能够进行本地合并,执行本地提交,然后将该提交推送到TFS。
HTH