現状、pukiwiki リポジトリ内では、デフォルトコンテンツが配布パッケージと同じ場所に配置されています。
例えば wiki/ 内のWiki本文を表すファイル群です。
このため、リポジトリをcloneした後に動作させると、PHPのソースを変更していないのにWikiテキストの変更が検出されてしまう。また、ソース変更部分とWiki変更部分が混ざって表示されてしまう。
開発時に地味に面倒なので、デフォルトコンテンツの場所を移動したい。
qiita.com:usamik26/items/56d0d3ba7a1300625f92 既に git 管理しているファイルをあえて無視したい より引用:
git でファイルを無視するには、通常は .gitignore や .git/info/exclude を使います。 しかし、既に git 管理下にあるファイルは、これらの設定があっても無視されません。 以下の方法を使えば、git 管理下にあるファイルをあえて無視することが可能です。 ... 方法(2) skip-worktree git update-index --skip-worktree [ファイル名] この設定を取り消すには次のようにします。 git update-index --no-skip-worktree [ファイル名]
*** assume-unchanged と skip-worktree の違い この2つは、以下の点が違います。 - assume-unchanged : そのファイルが作業ツリー上で変更されているときでも、git はその変更を無視して変更されていないとみなします。 - skip-worktree : そのファイルが作業ツリー上で変更されているときには、git はその変更を保ちます。 これは、以下のような状況で動作の違いとしてあらわれます。 *** 作業ツリー上でもリポジトリ上でもファイル更新があって、それをマージするとき - assume-unchanged : 作業ツリー上の更新は破棄されて、リポジトリの内容が取り込まれます。 - skip-worktree : 作業ツリー上の更新は保持されて、リポジトリの内容は取り込まれません。 *** 作業ツリー上でファイル更新があって、git reset --hard を実行したとき - assume-unchanged : 作業ツリー上の更新は破棄されます。 - skip-worktree : 作業ツリー上の更新は保持されます。
skip-worktree が、この用途にちょうど使えます。 良いソリューションが見つかったので、ソースコード管理方法の変更はしないことにします。