A very nice tutorial. Things can be simplified a bit by the use of the git subtree command. You can extract a history related to a subdirectory into a branch: git subtree split -P subdir --annotate="(split)" -b split This way you end up with the split branch holding a history related to the subdir directory, with each commit prefixed with the (split) string. Then you can use standard branch operation tools to push/merge the branch, etc. A good thing is that you can safely do it in the main repo without fear of destroying anything.
... View more