git でゴミを push してしまったとき, それを消す方法.

ちょっと特殊な状況かもしれませんが,
こんなことはございませんか.

初めて使うリポジトリなんかで,
最初に clone してきた .git なんかを,
自分のワーキングディレクトリにコピーしてきて,
動作確認をしたいがために,

git add .
git commit -m '1st commit'
git push

などとして, 軽率にワーキングディレクトリすべてをあげてしまい,
実際に上げた自分のディレクトリをよくみてみると,
大量にゴミが含まれていた, 的な.

こういう特殊な状況に陥った人(自分)が,
push 先のディレクトリにあげてあるゴミをどうやって,
抹殺するかってのが, これから書くことになります.

(※このリポジトリには基本作業者が自分一人だけという極めて特異なケースにのみ対処しうる方法です.
本来の Git の使用ではこれをしては, 他作業者に迷惑をかけてしまうので, revert など別の方法で対処してください.)

                                                                                                    • -

git リポジトリに不要ファイルがある場合の対処法
#1. まず, 作業用ディレクトリとは別の場所, /tmp/work/ あたりにpush したものを clone してくる.
#2. 次に, それの中で不要ファイルを探し, git rm する.
#3. 最後,

git commit -a - m "trash was deleted"

などとした上で,
push し直す.

これで, push したゴミは除去できました.

確認するには, /tmp/ あたりの任意の場所などに git clone してきて,
ゴミがなくなっているかのチェックをします.
なくなって入れば成功です.

                                                                                                    • -


Ref.
http://nabetama.com/blog/?p=944