Bitbucketからリポジトリ削除して、新しくpushするまでのまとめ

コードの共有をするためにBitbucketを使っている(Gitリポジトリをそのまま使える。っていうくらいの認識しかないが)

けど、何をとち狂ったか、前回のpush時に巨大モデルファイル(少なくとも3GB超)をいくつもpushしてしまった。単純に.gitignoreを書き忘れていた。

一応、pushは受理されたようだが、ソースが見れないという状態に。
これでは意味がないので、巨大モデルファイルを削除し、再度pushをしようかとも思ったが、基本的にすでにpushしてしまったファイルの削除はめんどくさい。

もう、あまりにも面倒なので、いっそのこと新しいリポジトリを作成してそっちに切り替えることにした。

まずは、既存の意味がないリポジトリの削除から(GUI的に探すのがなかなか難しい)
http://d.hatena.ne.jp/gungnir_odin/20130208/1360326503

次にきちんと.gitignoreを記述した上で、ripositoryを再度作成。

$ git init
$ git add .
$ git commit

すると
(略)
create mode 100644 copydir/annotation_with_corpus.py
create mode 100644 copydir/make_annotation_class.py
(略)

このcopydirというディレクトリもなかなか巨体である。
gitignoreに記述を忘れていた(もう、お間抜けさんなんだから!と言ってくれる子がいるといいなあ)

こういう時は、まずはgitignoreに記述する。
で、前回のコミットをやり直すわけだが、でも、一度コミットしてしまったファイルは、記録が残っている。

なので、これをけすために

$ git rm -r --cached copydir

で記録から抹消。
http://d.hatena.ne.jp/maeharin/20130206/gitignore

で、直前のコミットをやり直す
http://marina.sys.wakayama-u.ac.jp/vmlab/git/node7.html#SECTION00074000000000000000


で、Bitbucketの側で新しいリポジトリを作成しなおして、こっちにpush

これで完了!