мерзавец без .git папки — удаленный dir мерзавца

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 В блог)

6
задан Community 23 May 2017 в 10:32
поделиться

5 ответов

$ 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 вне рабочего дерева), вы действительно должны оказаться в подкаталоге, который вас интересует. .

3
ответ дан 10 December 2019 в 02:51
поделиться

Я бы постулировал что если вы задаете этот вопрос, возможно, вы пытаетесь создать проблему, которую нужно решить.

Подумайте о , почему вам понадобится единый репозиторий git, в который люди могут читать и писать прямо со своих собственных удаленных машин, и попробуйте добавить их в вопрос, потому что это кажется для всего мира вы пытаетесь использовать Git как SVN. И это закончится агонией.

Для начала, если вы не хотите делать полное глубокое зеркало только для создания патча для апстрима, обратите внимание на:

- depth
Создать неглубокий клон с историей, усеченной до указанного количества ревизий. Мелкий репозиторий имеет ряд ограничений (вы не можете клонировать или извлекать из него, а также нажимать из или в это), но подойдет, если вас интересует только недавняя история большого проекта с долгая история, и хотелось бы отправлять исправления в виде исправлений. ( git help clone )

2
ответ дан 10 December 2019 в 02:51
поделиться

Нет, невозможно иметь удаленный $ GIT_DIR (также невозможно иметь удаленный репозиторий в .git / objects / info / alternates ). Git просто так не работает.

1
ответ дан 10 December 2019 в 02:51
поделиться

Как уже отмечали другие, Git не написан для работы таким образом. Однако я думаю, что у вас может быть каталог .git при подключении к сети. Возможно, вы могли бы смонтировать удаленный сервер как файловую систему, такую ​​как NFS или sshfs . Это не так часто, как вам хотелось бы, но в некоторых ситуациях может сработать.

2
ответ дан 10 December 2019 в 02:51
поделиться

Возможное (тупое, но функциональное) решение: удаленно смонтировать каталог, с которым вы хотите работать, и привязать ваш каталог .git к точке монтирования.

1
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: