我正在使用git-tfs
,我想知道是否可以使用git-tfs
. 我有两个分支 $/MyCompany/Dev & $/MyCompany/Release-3.3。Release-3.3 源自 Dev 分支。两者都使用 git tfs 作为不同的 git 存储库检出。
我想将更改重新合并到 Dev 分支中。这可以通过git-tfs
TFS 工具来实现吗?或者我是否必须尝试使用 TFS 工具来实现?
从 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 分支更轻松地合并并将它们签入...
我发现了一种很棒的,如果 hacky 的方式来做到这一点。Git tfs 使用 git config 管理它对 TFS 区域的感知。特别是每个 3 个属性remote
;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
我不是 git-tfs 用户,但我过去曾使用 git-svn 完成此操作(我相信它有类似的方法)。我认为你的主要问题是你有两个回购。如果您将两个远程分支添加到同一个 git 存储库,那么您应该能够进行本地合并,进行本地提交,然后将该提交推送到 TFS。
高温高压