git 过滤分支致命修订
git filter branch fatal revision
我正在尝试从 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) 和一些在线博客文章。
一切都很顺利,除了当我尝试清理提交消息时,我使用文档中的命令得到 "fatal: bad revision s/^git-tfs-id:.*$//g"
git filter-branch -f --msg-filter 'sed "s/^git-tfs-id:.*$//g"' -- --all
我一直在尝试使用正则表达式,它并没有解决问题。在网上搜索了很多之后,我仍然不明白为什么它不能正常工作。
我将 git 用于 windows 命令行(最新版本),我对 git 的了解非常基础,但我找不到任何替代方法来实现我想做的事情。
感谢您的帮助!
您尝试执行的命令依赖于外部工具:sed
可执行文件(默认情况下在大多数 unix 版本上可用,但在 windows 上不可用):可能您必须安装 sed
靠自己。
从这些 unix-tools 捆绑包中获取 windows-compatible
版本的 sed
:
希望对您有所帮助!
终于找到了真正的问题所在...报价问题
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 的帮助!
我正在尝试从 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) 和一些在线博客文章。
一切都很顺利,除了当我尝试清理提交消息时,我使用文档中的命令得到 "fatal: bad revision s/^git-tfs-id:.*$//g"
git filter-branch -f --msg-filter 'sed "s/^git-tfs-id:.*$//g"' -- --all
我一直在尝试使用正则表达式,它并没有解决问题。在网上搜索了很多之后,我仍然不明白为什么它不能正常工作。 我将 git 用于 windows 命令行(最新版本),我对 git 的了解非常基础,但我找不到任何替代方法来实现我想做的事情。
感谢您的帮助!
您尝试执行的命令依赖于外部工具:sed
可执行文件(默认情况下在大多数 unix 版本上可用,但在 windows 上不可用):可能您必须安装 sed
靠自己。
从这些 unix-tools 捆绑包中获取 windows-compatible
版本的 sed
:
希望对您有所帮助!
终于找到了真正的问题所在...报价问题
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 的帮助!