Безопасно ли публиковать мой каталог .git для отладки? - PullRequest
0 голосов
/ 13 сентября 2018

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

Является ли хорошей идеей сделать общедоступной папку .git ИЛИ на что обращать внимание при этом ИЛИ какой тип сообщения дампа из git следует предлагатьдля отладки ошибок git?

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Безопасность

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

Отладка

ответ принятс @kenorb на Как я могу отлаживать проблемы, связанные с git / git-shell?

В Git встроен довольно полный набор трассировок, которые вы можете использовать для отладки ваших проблем с git.

Чтобы включить их, вы можете определить следующие переменные:

  • GIT_TRACE для общих трассировок,
  • GIT_TRACE_PACK_ACCESS для трассировки доступа к пакетному файлу,
  • GIT_TRACE_PACKET для трассировки на уровне пакетов для сетевых операций,
  • GIT_TRACE_PERFORMANCE для регистрации данных о производительности,
  • GIT_TRACE_SETUP для получения информации об обнаружении хранилища и среды, с которой он взаимодействует,
  • GIT_MERGE_VERBOSITY для отладки стратегии рекурсивного слияния (значения: 0-5),
  • GIT_CURL_VERBOSE для регистрации всех сообщений скручивания (эквивалентно curl -v),
  • GIT_TRACE_SHALLOW для отладки извлечения / клонирования мелкого гepositories.

Возможные значения могут включать:

  • true, 1 или 2 для записи в stderr,
  • абсолютный путьначиная с / для трассировки вывода в указанный файл.

Подробнее см. Git Internals - Переменные среды


SSH

Для проблем с SSH, попробуйте следующие команды:

echo 'ssh -vvv $*' > ssh && chmod +x ssh
GIT_SSH="$PWD/ssh" git pull origin master

или используйте ssh для проверки ваших учетных данных, например,

ssh -vvvT git@github.com

или через порт HTTPS:

ssh -vvvT -p 443 git@ssh.github.com

Примечание. Уменьшите число -v, чтобы уменьшить уровень детализации.


Примеры

$ GIT_TRACE=1 git status
20:11:39.565701 git.c:350               trace: built-in: git 'status'

$ GIT_TRACE_PERFORMANCE=$PWD/gc.log git gc
Counting objects: 143760, done.
...
$ head gc.log 
20:12:37.214410 trace.c:420             performance: 0.090286000 s: git command: 'git' 'pack-refs' '--all' '--prune'
20:12:37.378101 trace.c:420             performance: 0.156971000 s: git command: 'git' 'reflog' 'expire' '--all'
...

$ GIT_TRACE_PACKET=true git pull origin master
20:16:53.062183 pkt-line.c:80           packet:        fetch< 93eb028c6b2f8b1d694d1173a4ddf32b48e371ce HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2:2.6.5~update-ref-initial-update-1494-g76b680d
...
0 голосов
/ 25 сентября 2018

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

Единственная личная информация, которая может быть раскрыта, - это ваш адрес электронной почты.Все, что связано с ключами или паролями SSH, идет отдельно.

Разумеется, будут опубликованы все те файлы, которые вы включили в разные версии, а также сообщения коммитов.Это единственное, что нужно смотреть.

0 голосов
/ 13 сентября 2018

если у вас никогда не было конфиденциальной информации в вашем хранилище, тогда да, в противном случае нет. (при условии, что вы никогда не делали экзотических вещей, таких как написание ключей в хуке или наличие удаленного пути, содержащего секрет).

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

Примечание: ваши ssl-сертификаты не хранятся в папке .git; те обрабатываются вашей системой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...