読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

gitでaddしたファイルを非追跡にする方法。(あるいはディレクトリ構造を変更するイケてない方法)

git

やたら入り込んだ構造の成果物を、特に考えもなくフォルダごと"add"してしまいました。
が、毎度毎度ファイルパスを叩かないといけないので、非常に効率が悪い状況となってしまいました。
そこで今回は一度追跡対象にしてしまったファイルを一旦消し、別ディレクトリに保存するコマンドを試してみることにしました。

2012/11/14追記
トラックバックさせて頂いたサイトの管理人kanonji様から、git mvの情報を頂いたので記事を書きました。
ディレクトリ構造の変更ならこちらの方が断然得です。
gitでディレクトリ構成を変更したい場合 (git mv) - Bye bye Moore

"git rm"は追跡を中止するのみでデータそのものは削除しいようです。

$ cp ./info/src/cygwin ./src
$ git rm -r --cached ./info/src/cygwin/

そして、通常通りファイルを追加してやると……無事にディレクトリ構成変更完了です。

$ git add ./src/*

gitの中の人はとても頭がよいので、一連の動作を"renamed"として解釈してくれるようです。すごいですね。

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       renamed:    info/src/cygwin/201207051312_388.txt -> src/201207051312_388.txt
# <!--以下略-->

参考元: