我正在尝试将 git-svn 存储库推送到 github,但我不希望 url 出现在我的提交消息中。
它们出现是因为我正在使用 svn 开发并且只使用 git-svn 推送到 github。所以我所有的消息看起来像:
Some changes
git-svn-id: ........
您可以通过设置以下配置选项(全局或基于远程)将其关闭,但强烈建议不要这样做,因为git svn
没有此元数据将无法获取。
svn.noMetadata = true
svn-remote.origin.noMetadata = true
您也可以使用--no-metadata
with 选项git svn clone
来获得相同的结果。
从手册页git-svn
:
--无元数据
在 [svn-remote] 配置中设置 noMetadata 选项。不推荐使用此选项,请在使用此选项之前阅读此手册页的 svn.noMetadata 部分。
以及相关的配置文件选项:
svn.no元数据
svn-remote..no元数据
这消除了每次提交末尾的 git-svn-id: 行。
此选项只能用于一次性导入,因为 git svn 将无法在没有元数据的情况下再次获取。此外,如果您丢失了 .git/svn/*/.rev_map。文件,git svn 将无法重建它们。
git svn log 命令也不适用于使用它的存储库。出于(希望)显而易见的原因,使用此与 useSvmProps 选项冲突。
不推荐使用此选项,因为它很难在现有文档、错误报告和存档中追踪对 SVN 修订号的旧引用。如果您计划最终从 SVN 迁移到 git,并且确定要删除 SVN 历史记录,请考虑使用 git-filter-branch(1)。filter-branch 还允许重新格式化元数据以便于阅读和重写非“svn.authorsFile”用户的作者信息。
以防万一您已经使用 获取了数据,git svn fetch
您可以将git filter-branch
其用作替代方案。
git filter-branch -f --msg-filter 'sed -e "/git-svn-id:/d" -e "/Former-commit-id:/d"'
您可以相应地更改“git-svn-id:”或“Former-commit-id:”。