Ответ 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'
EDIT: обратите внимание, что вам не нужно указывать --work-tree
после инициализации репо, поскольку это значение сохраняется в git/test/config
.
Вы также можете записать 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
.