git addで計なファイルをステージングしてしまった件について
先ほど長くなっていたJSファイルをいくつかのファイルに小分けしたのですが、これをpushしようとしたら余計なファイルまで一緒に上げてしまいました。こんな感じに…何も考えずにgit addしたらこんなことになってしまったんだよぅ…
pushしちゃったあとはこっちで消してもGitHubのリポジトリには反映されないようなのです。事実、近い時間でpushを繰り返したものの、むこうのリポジトリにはファイルが残ったままです。こういう時は、
git rm <消したいファイル>
で消せるようです。
でも、これキャッシュだから保存したり書き換えたりするたびに毎回現れるんですよね…スクリプトか何かで余計なファイルを消そうかなと考えて少し調べていたところ、キャンセルする方法がありました。
$ git rm -cache <キャンセルしたいファイル>
で当該のファイルをステージから下ろすことができるようです。でも毎回これ打つのは面倒だし、小難しいことは考えずに
$ git add .
でステージ上げたいファイルだけをステージングしたいんです。そこで何かないかなって思っていたらありました。
.gitignoreというファイルを作ってディレクトリに置く
超簡単ですね。中身も1行にひとつづつ、除外したいファイルの名前をワイルドカードで書くだけみたいです。ということは、こういうgitignore書けばいいんですね。
$cat .gitignore *~ #*
否定、つまりステージングしたいファイルは行頭に!を書けばいいようです。
とまあ一旦は解決したようにも見えますが、実はもうひとつ残念なお知らせがあります。
しまったpushするブランチ間違えた[みくったー]
— ゆうなんとか@みかんクッキーさん (@yuu_hara) 8月 5, 2012
とか言ってますが、たぶんするつもりもないのにマージしちゃったっぽいです。戻したいんだけどどうしたら…