X-Git-Url: https://git.xandkar.net/?p=git-cheat-sheet.git;a=blobdiff_plain;f=README.md;h=81c0cb1320c60ebb1335262b4f8ffafd79cb8c89;hp=2e13e3d3d795359f3c1521f4766af6b8c20af894;hb=b5a37a6e5a2c2421ece77504c1ce97ddc0fae46a;hpb=3fd4f97336fb90332b450544ccb8249c029e26ca diff --git a/README.md b/README.md index 2e13e3d..81c0cb1 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 $REMOTE_NAME :refs/tags/$tag +done +```