X-Git-Url: https://git.xandkar.net/?p=git-cheat-sheet.git;a=blobdiff_plain;f=README.md;h=872a0abe00226bcda16a322888b3596a9257b078;hp=2e13e3d3d795359f3c1521f4766af6b8c20af894;hb=524e725b13e43fbc020288c35fa998fff9868a4c;hpb=3fd4f97336fb90332b450544ccb8249c029e26ca diff --git a/README.md b/README.md index 2e13e3d..872a0ab 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@ How to do stuff with git Splitting a repo ---------------- -### Remove history of all but select files in cloned repo +##### Remove history of all but select files in cloned repo ```sh -$ cp -Rp old new +$ git clone old new $ cd new $ git clean -dfx $ git gc --aggressive --prune=now @@ -27,7 +27,7 @@ $ git filter-branch \ $ git gc --aggressive --prune=now ``` -### Remove history of previously-removed (not in current tree) files +##### Remove history of previously-removed (not in current tree) files ```sh $ git log --pretty=format: --name-status \ | awk '$0 != "" {print $2}' \ @@ -41,3 +41,25 @@ $ git filter-branch \ ' \ HEAD ``` + + +Inserting a new root commit +--------------------------- +```sh +git checkout --orphan $TEMP_BRANCH +git rm -rf . +git commit --allow-empty -m $INIT_COMMIT_MSG +git rebase --onto $TEMP_BRANCH --root $MAIN_BRANCH +git branch -d $TEMP_BRANCH +``` + + +Deleting all tags, locally and remotely +--------------------------------------- +```sh +for tag in `git tag`; +do + git tag -d $tag + git push origin :refs/tags/$tag +done +```