Reputation: 349
I want to create a new git repository of a folder under an existing git repository. I want the history to be preserved in the new repository. How do I create this new git repository?
Upvotes: 8
Views: 1528
Reputation: 29586
Assuming you only want to keep the subdirectory as a separate project: you can use git filter-branch
for that.
git filter-branch --tree-filter=/path/to/script thebranch
You now have a separate branch that is not related to the normal development stream, containing just the subdirectory. Whoever clones the new branch gets only the subproject history.
Upvotes: 2
Reputation: 1323165
You can clone it, and then apply on the clone a filter-branch in order to split that repository, extracting only the directory you want (with its full history).
See Detach subdirectory into separate Git repository
Note the git clone --no-hardlinks /XYZ /ABC
used during the cloning step:
The
--no-hardlinks
switch makes git use real file copies instead of hardlinking when cloning a local repository.
Upvotes: 5
Reputation: 90276
You can clone it and keep the files you want; history will then be preserved.
Upvotes: -2