1

我有一个现有的 git repo,我被迫放入 tfs。我想使用 git-tfs 工具,但我一生都无法弄清楚如何做到这一点。我见过的所有例子都是从 git tfs clone 开始的,但我已经有一个 git repo 并且想在它上面运行“checkin”。

编辑:我已经尝试根据我需要的相反场景将指令拼凑在一起。我尝试创建一个空项目并将其添加到 tfs,然后从 git 复制我的代码,但我丢失了我的历史记录(我不想要)。我在这里寻找的是一组完成我需要的步骤。

4

1 回答 1

4

事实上,git-tfs 只能通过克隆 TFS 存储库来工作。

我只是希望您没有很多分支可以签入 TFS,否则这将很无聊但可行!

首先,在 tfs 中创建一个空存储库。

旧解决方案(如果您想采用这种方式仍然有效......):并使用 tfs.clone 克隆它。您应该能够轻松地做到这一点,并且在这个新的 git 存储库中应该只有一个没有文件的提交。

现在,向您现有的 git 存储库添加一个远程,并将远程 master 重新定位到新存储库的初始提交。

新解决方案:使用此脚本

然后使用 'git tfs rcheckin' 提交所有历史记录。它应该很长:(

之后,如果您有要提交的分支,并且您有 git-tfs 0.17.1 的最新版本,请提取好的修订版并使用以下命令创建一个 tfs 分支:

git tfs 分支名称_of_my_branch

并重新设置 git 分支的所有提交并使用 rcheckin : git tfs rcheckin -i Name_of_my_branch

对你所有的分支都这样做,那应该很好......

但是我应该补充一点,如果你有合并提交,它们都会在这个过程中丢失:(你不会有一个比现有 git 存储库更漂亮的存储库

PS:

于 2013-04-02T16:23:42.223 回答