Упакуйте локально репозиторий git, который уважает .gitignore - PullRequest
1 голос
/ 08 мая 2019

У меня локально есть git-репо, в котором есть куча файлов в .gitignore (например, node_modules).Я хочу отправить это РЕПО другу по электронной почте в виде почтового вложения.Есть ли способ создать пакет git, который бы уважал .gitignore?Я знаю, что могу скопировать папку и вручную удалить все ненужные файлы, но есть ли более простой способ?Как и в npm, npm pack создает локальный тарбол, который выглядит точно так же, как если бы он был опубликован (т.е. с учетом .npmignore).Есть ли эквивалент для мерзавца?Спасибо.

РЕДАКТИРОВАТЬ:

Чтобы уточнить, я хочу, чтобы результат был таким же, как если бы я подтолкнул к удаленному репо, а кто-то вытащил его.git archive создает снимок репо, удаляя файл .git.Кажется, что я хочу git clone src_repo dest_repo, который будет клонировать мой локальный репозиторий с учетом .gitignore

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Вы можете создать файл Git-комплекта с git bundle create, который содержит ветку или ветви, которые вы хотите включить.Если вы хотите включить все ветви, вы можете использовать git bundle create --all.

. Затем ваш друг может клонировать его, запустив git clone BUNDLE-FILE DIRECTORY, что создаст новый каталог в каталоге.Точно так же его можно использовать в качестве удаленного устройства для извлечения, просто указав имя файла вместо обычного удаленного имени или URL-адреса.

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

Вам не нужно архивировать полученный файл, поскольку Git уже сжал данные.Если вы это сделаете, будет гораздо быстрее, если вы отключите сжатие.

1 голос
/ 08 мая 2019

То, что вы ищете, это git архив.

См. здесь для точной документации.

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