我尝试从TFVC(Visual Studio Team Services)迁移到git(通过Visual Studio Team Services托管)。我已经能够构建一个迁移所有东西,分支,清理等的脚本。 我使用了git tfs(https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/migrate_tfs_to_git.md)和一些在线博客文章。
一切都像魅力一样,除非我尝试清理提交消息时我得到了一个"致命:错误的修订版本s / ^ git-tfs-id:。* $ // g"使用doc中的命令
git filter-branch -f --msg-filter 'sed "s/^git-tfs-id:.*$//g"' -- --all
我一直在尝试使用正则表达式,但它并没有解决问题。在互联网上挖掘了很多东西后,我仍然无法理解它为什么不能正常工作。 我使用git for windows命令行(最新版本),我对git的了解非常基础,但我无法找到任何替代方法来实现我想要做的事情。
感谢您的帮助!
答案 0 :(得分:2)
最后发现实际问题是什么......报价问题
git filter-branch -f --msg-filter 'sed "s/git-tfs-id:.*//gm"' -- --all
不起作用
git filter-branch -f --msg-filter "sed 's/git-tfs-id:.*//gm'" -- --all
作品
我猜在windows命令行和Git虚拟bash的引用解释之间存在兼容性问题。
无论如何,谢谢@Giuseppe Ricupero的帮助!
答案 1 :(得分:0)