Last active
September 15, 2016 19:55
-
-
Save AlexZeitler/697dfbc7d227149d33e612dc68377d3e to your computer and use it in GitHub Desktop.
Removing big files from Git repository history in a batch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# CREATE A BACKUP FIRST! | |
# Then find the oldest commit containing the unwanted files | |
# ./replace.sh <PathToFileContainingTheBigFilesToRemove> <OldestCommitSHA> | |
cd /path/to/your/git/repository | |
./replace.sh files.txt 9e5bc93 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
layout/Mackbook-Air-Mock-Up-PIXEDEN.zip | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-.pdf | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-.psd | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up.psd | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/Thumbs.db | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/license-README-FIRST.txt | |
layout/Mackbook-Air-Mock-Up-PIXEDEN/Mackbook-Air-Mock-Up-PIXEDEN/preview.jpg | |
layout/Mackbook-Air-Mock-Up--2.png | |
layout/Mackbook-Air-Mock-Up-.png | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN.zip | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN/iPhone-5-3D-view-MockUp/Thumbs.db | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN/iPhone-5-3D-view-MockUp/iPhone-5-3D-view-MockUp.psd | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN/iPhone-5-3D-view-MockUp/license-README-FIRST.txt | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN/iPhone-5-3D-view-MockUp/preview.jpg | |
layout/iPhone-5-3D-view-MockUp-PIXEDEN/iPhone-5-3D-view-MockUp/iphone.psd | |
layout/mbp_iphone_.pdn | |
layout/mbp_iphone_.png | |
layout/mbp_iphone__2.pdn | |
layout/products-WB05N1SL7.zip | |
layout/iphone-2.png | |
layout/iphone.png |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
rm -rf .git-rewrite/ | |
while IFS='' read -r line || [[ -n "$line" ]]; do | |
rm -rf .git-rewrite/ | |
git update-ref -d refs/original/refs/heads/master | |
git filter-branch --index-filter "git rm --cached --ignore-unmatch $line" $2..HEAD | |
done < "$1" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Rewrite 0ccf81d006a47afd4c71946feb4583869bf580e0 (27/49)rm 'layout/iphone-2.png' | |
Rewrite a572dbaf4825d23aa8b776e2670b298a4045c7aa (28/49)rm 'layout/iphone-2.png' | |
Rewrite 3b04dff0bf228dbf5ba9ea3ec9c751db4d45aad7 (29/49)rm 'layout/iphone-2.png' | |
Rewrite 335b26a65c3968381011d4b141adb1c2b880f851 (30/49)rm 'layout/iphone-2.png' | |
Rewrite 01172efc5356de01dc3e509b8a6a0c548795d72b (31/49)rm 'layout/iphone-2.png' | |
Rewrite 623a5a54bca17da6d8ed00a2edba2c59acb41d22 (32/49)rm 'layout/iphone-2.png' | |
Rewrite bb72bf5d455bcac6be588f8a15a86d149f31f7d6 (33/49)rm 'layout/iphone-2.png' | |
Rewrite 5dc762f75b62df2867ca48218568e114ba8e1939 (34/49)rm 'layout/iphone-2.png' | |
Rewrite 585331f4c5472ef7e33d9eab879b0bc802519107 (35/49)rm 'layout/iphone-2.png' | |
Rewrite 4db00f4f031ffe3bcaf14923092045ef0f1bdb03 (36/49)rm 'layout/iphone-2.png' | |
Rewrite cf78602a235b22fd05b226e608e37dfc57c8669c (37/49)rm 'layout/iphone-2.png' | |
Rewrite 0f39f59c6bc323f10eb2586ca4a92abb780c66a0 (38/49)rm 'layout/iphone-2.png' | |
Rewrite 37e45c8ccc24ccde553194ac3d7632922cefb461 (39/49)rm 'layout/iphone-2.png' | |
Rewrite 95cfae8e2d221edc47cfa61f7bafedd9670f5e3f (40/49)rm 'layout/iphone-2.png' | |
Rewrite cd499c1cadac574b618edb3c94ed7fb8348fed50 (41/49)rm 'layout/iphone-2.png' | |
Rewrite f696249e4e2fec5f9804294f5156cdf53adddf6a (42/49)rm 'layout/iphone-2.png' | |
Rewrite 907a985b20695bd8d42c8e29626554c437c0a0f3 (43/49)rm 'layout/iphone-2.png' | |
Rewrite 03248e659ace1fdbc0647f451b9048d64ff8094e (44/49)rm 'layout/iphone-2.png' | |
Rewrite b124ce5355d1846c6a72b406f1e500d18922f814 (45/49)rm 'layout/iphone-2.png' | |
Rewrite e43133a9cc30d89da405601f7d6890823e836f99 (46/49)rm 'layout/iphone-2.png' | |
Rewrite d58e39c4ba6191bcb92dd0f929fbaa340b63910d (47/49)rm 'layout/iphone-2.png' | |
Rewrite 894aeea56a0fcb1efbfdc0d6aba4380ce550806a (48/49)rm 'layout/iphone-2.png' | |
Rewrite 1ce22851dfd70615454e122d96aa00c2f1e09ded (49/49) | |
Ref 'refs/heads/master' was rewritten | |
Rewrite 0bfd29ca16d197bacaa157a06bcddc921f9f5595 (27/49)rm 'layout/iphone.png' | |
Rewrite 07a8760aae669059b8482f6bfeefbfbaa23dfd11 (28/49)rm 'layout/iphone.png' | |
Rewrite b007f34ef9ce2e992dd614fed7d34525b765a384 (29/49)rm 'layout/iphone.png' | |
Rewrite 875fc412cc5f10a1bf211e45acc4522c1c0e32a5 (30/49)rm 'layout/iphone.png' | |
Rewrite f080c1c9e495c8a91080019e19c4f74862881dc3 (31/49)rm 'layout/iphone.png' | |
Rewrite b6bcebe400e49583121385d2cabab9887c5814bf (32/49)rm 'layout/iphone.png' | |
Rewrite 8401130282012d11192573f55bff89385adc3217 (33/49)rm 'layout/iphone.png' | |
Rewrite ee7acf94e0a0da74dc4905a00404e01d4838819a (34/49)rm 'layout/iphone.png' | |
Rewrite 031d1943f58cf916d46d7bc825c486814ace8f72 (35/49)rm 'layout/iphone.png' | |
Rewrite 91a9e7c45eb278d8687b4df891da20f305c0a581 (36/49)rm 'layout/iphone.png' | |
Rewrite fd841baa0112977ce42bca612806f5fd2c732d23 (37/49)rm 'layout/iphone.png' | |
Rewrite 3bb5fa468691bfeb0fa06b1c5dec28726bb75a6e (38/49)rm 'layout/iphone.png' | |
Rewrite ebc44fd5715bd6dc2142f5b2307b94ab42464905 (39/49)rm 'layout/iphone.png' | |
Rewrite c7eeab3d2b10c527d8ffdc8446c3538098c4b96d (40/49)rm 'layout/iphone.png' | |
Rewrite ac641ff98b89860bc4394f058163c11c2c4dad6c (41/49)rm 'layout/iphone.png' | |
Rewrite 8ef4eb9daa94c5899bc72fb3dec75bb39ae7efe0 (42/49)rm 'layout/iphone.png' | |
Rewrite 1fa7db8b34adadb58e22071da285fa24a455b3f0 (43/49)rm 'layout/iphone.png' | |
Rewrite afd6f89cfc443458fe8a7db73d78d3a700bdacbb (44/49)rm 'layout/iphone.png' | |
Rewrite 2759ff104a705d38df26e77d9fc9eb077c838bf9 (45/49)rm 'layout/iphone.png' | |
Rewrite 870ea0aee8d21467fcbb34753b1b0c12a533c5bf (46/49)rm 'layout/iphone.png' | |
Rewrite 54c7d21ac21d27b17d8f765c4b562f9e0da59a9c (47/49)rm 'layout/iphone.png' | |
Rewrite 8e0ce107f86bdd0a7fe625641ec03de41d62d49c (48/49)rm 'layout/iphone.png' | |
Rewrite 521be1fa1c4d7747a616b4ca25ac5a24992ebbe0 (49/49) | |
Ref 'refs/heads/master' was rewritten |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nice! There also is a good explanation in the GitHub docs https://help.github.com/articles/remove-sensitive-data/ to understand the git magic.