我有源文件A,它越来越长并且包含两个大类。我想将其拆分为文件A,并B保留历史记录和“责备”数据。
在 Subversion 中,这很容易:执行svn copy A B,删除A应该只在其中的行,B反之亦然,然后提交。但是项目的所有者很遗憾地想要切换到 Git,这是我不知道该怎么做的工作流程之一。
当你这样做时svn log B,你会得到B's 分裂后的历史,加上A' 分裂前的历史。此外,svn blame B会将拆分前的更改归因于 历史中的正确作者A,而不是将其归因于进行拆分的任何人。