rchecking在git上针对tfs创建的分支

时间:2015-05-26 18:40:41

标签: git tfs git-tfs

到目前为止我成功完成了什么:

  • git tfs来自我在TFS的主分支。
  • 将此回购推送到我的bitbucket帐户。
  • 在本地创建了一个分支(git checkout -b testbranch)
  • 在TFS上创建了相同的分支(git tfs branch $ / Repo / testbranch)
  • 为测试做了一些更改,并且仅在git上提交(git add,在testbranch上提交git)。没有把它们推到bitbucket。

现在有什么问题:

执行:git tfs rcheckin,结果我将我的更改签到了TFS上的我的主分支(我想检入testbranch)

尝试:git tfs rcheckin -i testbranch,并得到以下消息:“没有找到TFS父母!”

有关如何修复它的想法吗?

1 个答案:

答案 0 :(得分:0)

我在git-tfs论坛上做的答案相同,但因为你在这里问了你的问题......

  

有关如何修复它的想法吗?

不知道......但我知道你做错了什么: - (

如果要在新的tfs分支中签入,必须先创建它(并使用git tfs branch --init初始化它),或者使用命令git tfs branch创建它。然后你可以在git中使用它。

如果你在开始时没有这样做,你可以在rcheckin之前做这件事并做一个git rebase ......

现在,你可以在分支机构中进行检查......

Git-tfs能够使用存储在tfs中检查的最后一次提交中的元数据自动查找应该在其中完成签入的分支。在你的情况下,这是主要分支之一!

现在,解决你的问题.............

因为你无法用tfs删除变更集,所以这不是一件容易的事: - (

更简单的解决方案是创建一个新的提交,恢复所有更改并在tfs中检查它。之后,您的主分支应该处于分支机构签入之前的状态。

然后,在最后一个变更集上创建一个git分支,该变量集对应于您之前严重破解的dev分支的提交。 创建一个tfs分支,就像我之前所说的那样(你应该使用良好的元数据git-tfs-id进行新的提交,仔细查看TFS路径!)

并使用git rebase --onto -i将dev分支的提交重新绑定到此新提交。不要忘记删除你将要重新设置的所有提交的所有元数据(或者你将再次以同样的混乱结束)!!

现在你可以在TFS分支中进行检查了!