背景
既にリモート上に存在するリポジトリをクローンした後、そのリポジトリ内に作業用メモなどを作成した場合、それらをpushの対象にしたくないファイル/フォルダ類として.gitignoreに追記すると、それが元で.gitignoreがワーキングツリー上で編集された状態となる。
作業用メモなどは無視されるが、.gitignoreはローカル作業中、commitしたくなくても変更された状態が維持されるため、作業時のストレスとなる(少なくとも自分は)。
それを解消したくなって、調査した結果が下記となる。
訂正
下記はchatgptに聞くと、正攻法ではない。とのことだった。
.gitignoreに追記はせず、ローカルリポジトリ内の任意のフォルダやファイルを追跡させない(=commitやpushの対象とさせない)ための方法は別口で方法があるため、その方法を優先的に使用していく。
方法
1、.git/info/excludeファイルに追記をしていく
*既に追跡されてしまっている場合、rmコマンドで追跡を解除してあげると良い。
2、無視対象ファイルの編集をしても変更検知がされないことを確認する
▼追跡中ファイルを確認
git ls-files
▼追跡していないファイルを確認
git ls-files --others --exclude-standard
▼addされたファイルを解除(追跡されている状態を解除するため)
git rm --cached ファイル名
git rm -rf --cached フォルダ名
結論(ここから下は本件では基本的に使用しないでおく)
特定のファイルを無視させる場合
git update-index --assume-unchanged [ファイル名]
無視設定したファイルを再度追跡できるようにする場合
git update-index --no-assume-unchanged [ファイル名]