Also see https://devblogs.microsoft.com/oldnewthing/20190916-00/?p=102892
# create new branch, rename the file, commit
git checkout -b split1
git mv original_file.txt part1_file.txt
git commit -m "rename original_file"
# remove some lines from part1_file.txt
git add part1_file.txt
git commit -m "remove lines from part1_file.txt
# go back to main branch
git checkout main
# create new branch, rename the file, commit
git checkout -b split2
git mv original_file.txt part2_file.txt
git commit -m "rename original_file"
# remove some lines from part2_file.txt
git add part2_file.txt
git commit -m "remove lines from part2_file.txt
# go back to main branch
git checkout main
# now we can octopus merge the two branches into main
git merge split1 split2