假设我有一个如下所示的 git repo。
分支主
./.gitignore
./README
./foo/
./foo/magic.py
./foo/document.txt
./bar/
./bar/baxy.c
./herp/
./herp/derp.h
有一堆提交,修改或创建这些文件。如果我想将历史记录(不需要共享第一个初始提交,但如果他们这样做很好)分成两个分支(假设分支是执行此操作的最佳方式)怎么办?
分支A
./.gitignore
./foo/
./foo/magic.py
./foo/document.txt
B分公司
./.gitignore
./README
./bar/
./bar/baxy.c
./herp/
./herp/derp.h
例如,不能保证提交不会同时foo/magic.py
涉及herp/derp.h
到同一个提交。分支应该具有影响这些文件的所有提交历史,影响多个文件的提交(跨历史拆分)可以被分解。
我应该做什么/怎么做?(我考虑过只是耸耸肩,复制文件,然后说把历史搞砸,但这似乎是在逃避。)
编辑:
很确定这git filter-branch
就是这里的关键,但以前从未使用过它,会做一些阅读。