ソースコードリポジトリ内でデフォルトコンテンツが配布パッケージと同じ場所に配置されている

メッセージ

現状、pukiwiki リポジトリ内では、デフォルトコンテンツが配布パッケージと同じ場所に配置されています。

例えば wiki/ 内のWiki本文を表すファイル群です。

このため、リポジトリをcloneした後に動作させると、PHPのソースを変更していないのにWikiテキストの変更が検出されてしまう。また、ソース変更部分とWiki変更部分が混ざって表示されてしまう。

開発時に地味に面倒なので、デフォルトコンテンツの場所を移動したい。

Solution

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 が、この用途にちょうど使えます。 良いソリューションが見つかったので、ソースコード管理方法の変更はしないことにします。




トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-13 (火) 00:11:29
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.182 sec.

SourceForge