code_junkie

Detach subdirectory into separate Git repository

Nov 12th, 2011
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. XYZ/
  2. .git/
  3. XY1/
  4. ABC/
  5. XY2/
  6.  
  7. XYZ/
  8. .git/
  9. XY1/
  10. XY2/
  11. ABC/
  12. .git/
  13.  
  14. $ git clone --no-hardlinks /XYZ /ABC
  15.  
  16. $ git filter-branch --subdirectory-filter ABC HEAD
  17.  
  18. $ git reset --hard
  19. $ rm -rf .git/refs/original/
  20. $ git reflog expire --expire=now --all
  21. $ git gc --aggressive --prune=now
  22.  
  23. git filter-branch --tree-filter "rm -rf ABC" --prune-empty HEAD
  24.  
  25. git clone --no-hardlinks foo bar; cd bar
  26. git filter-branch --subdirectory-filter subdir/you/want
  27.  
  28. git remote rm origin
  29. git update-ref -d refs/original/refs/heads/master
  30. git reflog expire --expire=now --all
  31.  
  32. git repack -ad
  33.  
  34. git clone --no-hardlinks file:///SOURCE /tmp/blubb
  35. cd blubb
  36. git filter-branch --subdirectory-filter ./PATH_TO_EXTRACT --prune-empty --tag-name-filter cat -- --all
  37. git clone file:///tmp/blubb/ /tmp/blooh
  38. cd /tmp/blooh
  39. git reflog expire --expire=now --all
  40. git repack -ad
  41. git gc --prune=now
  42.  
  43. git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch DIR" --prune-empty --tag-name-filter cat -- --all
  44.  
  45. git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch DIR" --prune-empty --tag-name-filter cat -- --all
  46.  
  47. git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch DIR" --prune-empty --tag-name-filter cat -- --all
  48.  
  49. git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch DIR" --prune-empty --tag-name-filter cat -- --all
  50.  
  51. git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch DIR" --prune-empty --tag-name-filter cat -- --all
Add Comment
Please, Sign In to add comment