Ever wanted to split big branch by directories changed? Stop giving your teammates big PRs if you can split it.
Next commands will add git-split-branch
binary to your binary list.
yarn global add git-split-branch
npm install -g git-split-branch
git-split-branch dir
This command will help you split your current branch into new extra branch with changes only in folder dir.
Directories you want to split branch to. You could specify exact branches or part of directory name.
dir/full/path
path
Output current git-split-branch
version.
Directory where actual split will happen.
"./" by default.
Flag if cli should run all commands from root of repo or not. With -R
flag all commands will go from -w
directory otherwise from root of repo.
"false" by default.
Branch you'd like to compare from. Used to find diff commits. Specify -f BRANCH
if you want compare to custom branch.
"develop" by default.
Branch you'd like to compare to. Used to find diff commits. Specify -t BRANCH
if you want compare to custom branch.
"CURRENT BRANCH" by default.
Branches you would like to commit to, separated by ";". Count of branches should be same as directories to use for split.
By default CLI will propose you to create branches based on -t
option.
Set logger level to log extra information just in case.
-v
would make 'info' verbosity.
-v debug
would specify exact level of verbosity.
No extra levels supported.
"notice" level by default.
Depth of looking for directories when finding best match for input.
"5" by default.
Log some help.
- find directories with fuzzySearch
- create branches for each split
- find all commits effected each directory separately with
git rev-list --reverse --no-merges FROM..TO -- DIR
- apply all commits one by one for each dir
git checkout HASH -- DIR