1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

「.gitignore」をコピーし損ねてGithub desktopに膨大な変更履歴があがった話

Last updated at Posted at 2019-03-30

初投稿です。
初学者の私がハマった不具合の内容と原因を共有します。

###[内容]
Gitでリポジトリを作成しRailsファイルを編集していたところ、viewファイルを2~3ついじっただけでキャッシュやログのデータが1,000件以上Github desktop上にあがってしまった。

###[経緯]

  • 使用するRailsアプリケーション(仮にAとする)をrails new Aコマンドで作成した。

  • そのディレクトリとは別に空のディレクトリを作成(仮にA'とする)、そのディレクトリにgit initをしてローカルリポジトリとした。

  • Railsファイル(A)をカットアンドペーストしA’に貼り付けてA’内で作業した。
    image.png上の画像の様にfinderで切り取りしてAからA'にそのままRailsファイルを貼り付けた。

###[原因]image.png

実際は隠しファイルの.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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?