我不得不相信有人之前遇到过此事,并希望能够对这个问题有所了解。我们公司已经收购了另一家也使用Git。在迁移过程中,将使用新格式重命名用户帐户。问题是,当我们移动Git存储库时,存储库中引用的帐户将与新用户ID不匹配。
在将Git存储库移动到我的服务器时,有没有办法将当前文件和存储库的历史记录重新映射到更改的ID?到目前为止,我发现的唯一方法是在从svn迁移到git时重新映射用户。
答案 0 :(得分:0)
我强烈反对尝试修改历史提交的用户名。您将不得不重写整个历史记录树,从而导致过去曾经克隆过存储库的任何人出现问题(没有大量工作就没有任何合并)。
相反,接受过去的原样,让每个人都使用新格式的用户名进行未来的工作,然后继续前进。
答案 1 :(得分:0)
听起来你在谈论文件所有权。 Git不跟踪文件所有权。它跟踪的唯一模式位是可执行位。创建工作树的任何用户都拥有文件。
如果实际上你在谈论每次提交的作者/提交者信息,那就是另一回事了。正如Greg所说,我会阻止你尝试重写这些信息,因为这会重写存储库的整个历史记录。如果您确实想要这样做,可以使用git filter-branch
命令和相应的--env-filter
脚本在作者/提交者信息上进行任何映射。