How to extract folders with history with git
Sometimes at the end of life of a project, one of its sub-project will fly on its own and will have its own lifecycle.
Thus, you will need to extract the folder of the sub-project.
Will a simple copy/paste work? Not so fast, because we will lose the git history of the sub-project.
Git is an awesome tool which has a “magical” command.
For example, we have a projet called
foobar with the following tree:
If I want to extract the 2 sub-folders
bar with their history, we just need to execute the following command:
--tag-name-filter cat: option to fetch the history for their tags
--: separate the
filter-branchoptions from the revision options
--all: re-write all branches and tags