Exception#backtrace имеет весь стек в нем:
def do_division_by_zero; 5 / 0; end
begin
do_division_by_zero
rescue => exception
puts exception.backtrace
raise # always reraise
end
(Вдохновленный Peter Cooper Ruby В блог)
$ GIT_DIR
, , представленный в мае 2005 г. , предназначен для:
SHA1_FILE_DIRECTORY
(было GIT_OBJECT_DIRECTORY
], т.е. « $ GIT_DIR / objects
») GIT_INDEX_FILE
(« $ GIT_DIR / index
») Если GIT_DIR не определен, по умолчанию используется « .git
".
Это должен быть абсолютный или относительный путь к текущему рабочему каталогу, а не абсолютный путь http или git.
На основе этого сообщения Джунио К. Хамано :
Некоторые команды не будут работать в последнем случае.
Например, « git diff
» (представляющий способ отличить часть рабочего дерева, в котором вы в настоящее время находитесь с данным деревом) потерпит неудачу.
Примечание: это не похоже на " git diff
", который делает то же самое с индексом.
С этими командами (и другими, которые выдают ошибку при запуске без GIT_DIR
вне рабочего дерева), вы действительно должны оказаться в подкаталоге, который вас интересует.
.
Я бы постулировал что если вы задаете этот вопрос, возможно, вы пытаетесь создать проблему, которую нужно решить.
Подумайте о , почему вам понадобится единый репозиторий git, в который люди могут читать и писать прямо со своих собственных удаленных машин, и попробуйте добавить их в вопрос, потому что это кажется для всего мира вы пытаетесь использовать Git как SVN. И это закончится агонией.
Для начала, если вы не хотите делать полное глубокое зеркало только для создания патча для апстрима, обратите внимание на:
- depth
Создать неглубокий клон с историей, усеченной до указанного количества ревизий. Мелкий репозиторий имеет ряд ограничений (вы не можете клонировать или извлекать из него, а также нажимать из или в это), но подойдет, если вас интересует только недавняя история большого проекта с долгая история, и хотелось бы отправлять исправления в виде исправлений. (git help clone
)
Нет, невозможно иметь удаленный $ GIT_DIR (также невозможно иметь удаленный репозиторий в .git / objects / info / alternates
). Git просто так не работает.
Как уже отмечали другие, Git не написан для работы таким образом. Однако я думаю, что у вас может быть каталог .git при подключении к сети. Возможно, вы могли бы смонтировать удаленный сервер как файловую систему, такую как NFS или sshfs . Это не так часто, как вам хотелось бы, но в некоторых ситуациях может сработать.
Возможное (тупое, но функциональное) решение: удаленно смонтировать каталог, с которым вы хотите работать, и привязать ваш каталог .git к точке монтирования.