我有一个历史复杂的大文件,其中包含许多作者的提交记录。
重构它意味着要将它分成多个小文件,但是,我需要保留历史记录。
为了更好地理解,假设我有一个包含所有代码的main
文件:
function a() {}
function b() {}
function c() {}
function main() {
a();
b();
c();
}
我需要将a
和b
函数分别移动到a
和b
文件中,同时保留main
函数在main
文件中--同时还需要在三个文件中保留历史记录。
我在这里找到了一些解决方案,但实际上没有任何一个在生产环境中实用。
git log
和git blame
这样的程序通过读取实际(提交)历史来尝试召唤出文件历史;它们成功的程度在某种程度上取决于观察者的眼光。 - torek