gitfilesplit
https://github.com/idlesign/gitfilesplit
Description
Command line helper to Git split one file into several preserving history
Split myhugefile.py into three: smaller.py, another.py and some.py using command line:
$ gitfilesplit myhugefile.py smaller.py another.py some.py
The same in Python:
from gitfilesplit.toolbox import split split( source='myhugefile.py', # And with subdirectories: targets=['smaller.py', 'sub1/another.py', 'sub2/some.py'] )
Under the hood it will create several branches in which source file is moved to target locations. After that octopus merge of these branches will be performed and temporary branches removed.
Requirements
- Git
- Python 3.6+