Git リポジトリで作業したいのですが、作業ツリーはリモートである必要があります。たとえば、プロジェクトが 内に保存され~/project
、project.git
内に保存されている場合です~/git/project.git
。
config 経由で作業ツリーを変更した内容:
worktree=/Users/myuser/project
コミットして差分を表示することはできますが、実行しようとするとgit stash
エラーが発生しました:
致命的: 作業ツリーがないと /usr/libexec/git-core/git-stash は使用できません。
作業ツリーから離れたディレクトリを保存するにはどうすればよいでしょうか.git
? また、なぜこのエラーが発生するのでしょうか?
git config --get core.worktree
正しい作業ディレクトリを返します。
ベストアンサー1
以下の方法が機能するようです。必要に応じて調整してください。
mkdir git
mkdir work
git --git-dir git/test --work-tree work/test init
mkdir work/test
echo -n foo > work/test/foo.txt
git --git-dir git/test status
git --git-dir git/test add foo.txt
git --git-dir git/test commit -m 'commit 1'
--work-tree
編集:リポジトリが初期化された後は、その値が に保存されるため、指定する必要がないことに注意してくださいgit/test/config
。
work/test に cd してそこからコミットすることもできます:
cd work/test
echo -n bar > bar.txt
git --git-dir ../../git/test status
git --git-dir ../../git/test add .
git --git-dir ../../git/test commit -m 'commit 2'
--git-dir
次に、またはに絶対パスを使用しますGIT_DIR
。