Git использование --work-tree и --git-dir в командах


Итак, у меня есть php-скрипт, который интегрируется с API Bitbucket и вносит изменения в некоторые локальные/общие репозитории.

Для этого я использую --git-dir и --work-tree [ когда применимо] вместе с каждой командой, как в:

/usr/bin/git --git-dir=/var/www/staging.repo/.git --work-tree=/var/www/staging.repo merge "origin/master" 2>&1; echo $?

Я использую git версии 1.7.0.4 в своей среде разработки и git версии 1.5.6.5 на реальном сервере. Причина этого в том, что для Debian Lenny (5) нет более новой версии git, поэтому я застрял на более старой.

В проблема в том, что некоторые команды, которые правильно принимают --work-tree и --git-dir в git версии 1.7, похоже, не очень заботятся об этом в более старой версии. Один из примеров:

/usr/bin/git--git-dir=/var/www/промежуточное.репо/.git--рабочее дерево=/var/www/промежуточное.репо слияние "источник/мастер" 2>&1;echo $?

, который выводит:

Фатальный: /usr/bin/git-слияние не может быть использовано без рабочего дерева.

Итак, как я могу широко использовать эти параметры с помощью git 1.5.6.5?


Решение:

Загруженный источник git:

Я сам:/какая-то/папка$curl-O http://git-core.googlecode.com/files/git-1.7.7.tar.gz

Установлено:

Myself:/some/folder/git-1.7.7.tar.gz $./настроить

Myself:/some/folder/git-1.7.7.tar.gz $сделать

Myself:/some/folder/git-1.7.7.tar.gz $sudo сделать установку

Готово!:)

Ссылка: http://www.mikepilat.com/blog/2011/06/how-to-build-git-from-source-on-ubuntu/

Author: dmmd, 2012-07-30

1 answers

Пожалуйста, скомпилируйте последнюю версию git.

Да, некоторые команды не соблюдают эти параметры. Вместо этого вы можете попробовать установить их эквивалентные переменные среды.

 0
Author: Adam Dymitruk, 2012-07-30 02:54:37