初投稿です。
初学者の私がハマった不具合の内容と原因を共有します。
###[内容]
Gitでリポジトリを作成しRailsファイルを編集していたところ、viewファイルを2~3ついじっただけでキャッシュやログのデータが1,000件以上Github desktop上にあがってしまった。
###[経緯]
-
使用するRailsアプリケーション(仮にAとする)を
rails new A
コマンドで作成した。 -
そのディレクトリとは別に空のディレクトリを作成(仮にA'とする)、そのディレクトリに
git init
をしてローカルリポジトリとした。 -
Railsファイル(A)をカットアンドペーストしA’に貼り付けてA’内で作業した。
上の画像の様にfinderで切り取りしてAからA'にそのままRailsファイルを貼り付けた。
実際は隠しファイルの.gitnoreは選択されていませんでした...。
.gitignore内にログやキャッシュを追跡対象から外す記述がされているので、このファイルがないとGitは全ての変更を記録してしまい、私の様に1,000件以上の変更履歴を残すことになってしまいます...。
(※因みに隠しファイルは「⌘ + shift + .(ドット)」で表示できます)
###[対応]
とりあえず、Railsディレクトリ内に「.gitignore」を作成。何を追跡対象から外すのが良いかは全く見当が付かなかったので、下記リンクからRails.gitignoreのテンプレートを使用しました。
以下、色々な.gitignoreのテンプレートが載っているリポジトリです。
https://github.com/github/gitignore
また、.gitignoreを編集しても、既にGitが記録してしまっているものに対しては反映されません。ファイルを指定して追跡対象から外すこともできますが、私の場合キャッシュデータが膨大だった為、以下のコードでまとめて追跡対象から除外しました。
git rm --cached `git ls-files -i --full-name --exclude-from=.gitignore`
以下、参照させて頂いた記事です。
###[参考記事]
https://qiita.com/yuuAn/items/b1d1df2e810fd6b92574
https://qiita.com/koppayashi/items/fa971b641770266af9a7