Как я могу отправить кому-то сообщение в репозиторий git?

Я пробовал:

git archive HEAD --format=zip > archive.zip

: а затем я отправляю по электронной почте archive.zip, а с другой стороны распакуют archive.zip в папку. Но когда они пробуют какие-либо команды git, они обнаруживают, что это не создает допустимый репозиторий git

Ответ 1

Вы можете использовать git bundle и отправить по электронной почте один файл

См. "резервное копирование проекта, который использует git"

A git bundle - это всего лишь один файл, который можно легко создать и снова импортировать, поскольку его можно рассматривать как другой пульт.

После получения вы можете клонировать его или извлекать из этого файла.

Как упоминалось в "Резервное копирование github repo", вы, вероятно, захотите, чтобы первое электронное письмо создало ваш пакет со всеми ветвями:

$ git bundle create /tmp/foo-all --all

Как Andreas упоминается в комментариях, Scott Chacon недавно (март 2010 года) написал "симпатичную" статью по этой теме в блоге Progit Git Маленький пучок радости

Ответ 2

Как и в предыдущем ответе, git bundle - это путь.

Если вы хотите создать пакет с использованием только одной ветки (я предпочитаю связывать только мастер) и отправки по электронной почте, вы можете сделать что-то вроде ниже:

$ git bundle create /tmp/mygitbackup.bundle master