Meaningless Notebook

我輩は雑記帖である。名はまだない。

Git 管理下の一部ファイルを差分管理しないようにする18

Git で管理するけど初回コミットだけして変更が生じてもコミットしない場合。

目的

Git ではコミットされたファイルは『.gitignore』に追記してもず-っと追跡されます (多分) 。

ググってよく出てくる『git rm -r –cached .』によるキャッシュ削除〜は、そのファイルを Git 管理対象から外す事が前提となっています (多分) 。

私がやりたかったのは

  • Git 管理するファイル
  • 初回コミットだけしたい (その後、ロ-カルで変更した内容はコミットしない)

というものでした。

具体的にどんなケ-スなの ? と言うと、もしも css を追加したいならそのファイルに追記すればいいよ的なケ-ス ? です。

ユ-ザ-が独自定義を追加する為の設定ファイル ? みたいな ?

まぁレアケ-スですかね… (´・ω・`)

方法

2 つやり方があるみたいで

  • assume-unchanged (リポジトリの変更が常に正となり、作業ツリ-の変更は破棄)
  • skip-worktree (作業ツリ-の変更が保持され、リポジトリが変更されると要マ-ジ)

今回は、『assume-unchanged』を採用しました。

1.差分チェック対象から除外

下記コマンドを実行して Git の差分チェック対象から除外する。

git update-index --assume-unchanged 差分チェック対象から除外するファイルのパス

2.差分チェック対象から除外していたファイルを差分チェック対象に戻す

下記コマンドを実行して Git の差分チェック対象から除外していたのを戻す。

git update-index --no-assume-unchanged 差分チェック対象から除外していたファイルのパス

参考元

  1. 既に git 管理しているファイルをあえて無視したい

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>