Вопрос по git, github, git-bash, bash – Bash Script для Push / Pull из частного Git-репозитория?

5

Я пытаюсь найти способ, которым я могу написать bash-скрипт, который будет автоматически извлекать информацию из нашего частного репозитория Github каждую полночь и обновлять наш сайт разработки.

Наше хранилище является закрытым по понятным причинам, и все, что я обнаружил, всегда запрашивает парольную фразу. У нашего сервера есть собственная учетная запись Github, которую он использует для извлечения и извлечения данных из хранилища, но я просто не знаю, как это сделать автоматически.

Может кто-то указать мне верное направление?

Ваш Ответ

1   ответ
9

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

На вашем компьютере сгенерируйте ключ ssh:

$ ssh-keygen -t rsa

Убедитесь, что вы оставили поле пароля незаполненным. Это оставляет локальный закрытый ключ незашифрованным, но не менее безопасным для реального общения через Интернет.

Затем загрузите~/.ssh/id_rsa.pub в github в настройках учетной записи | SSH ключи

Теперь вы должны иметь возможность выдвигать и извлекать данные с этой машины без пароля. Попробуйте это:

git clone [email protected]:user/repo.git

Затем вы можете поместить эти команды в свой bash-скрипт соответствующим образом. Если вам нужно сделать это для нескольких компьютеров, вам нужно загрузить каждый ключ или скопировать закрытый ключ (~/.ssh/id_rsa) каждому.

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

А как насчет "git pull"? Я клонировал, когда он был общедоступным, теперь он частный, и я не могу обновлять. Спасибо!
git pull ничем не отличается отgit cloneхотя вы можете при желании настроитьdifferent pull and push urls, Я предлагаю вам проверить свойgit remote config, чтобы убедиться, что ваш URL-адрес настроен правильно.

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