#git #ssh #git_remote
Как настроить подключение к удаленному Git-репозиторию, через SSH, на компьютере
с Windows 7 . И соответственно выкачать содержимое к себе на локальный сервер.
Удаленный репозиторий находится на сервере с git. мне нужно просто склонировать содержимое.
никаких пушей обратно. там есть идентификация. сгенерил паблик кей и отослал спец-ту
на той стороне. как мне добавить ранее сгенеренный-свой ключ через консоль и подключиться
к серверу? какие команды..? Windows 7 на моей машине.
Ответы
Ответ 1
Установка
Если ещё не установлен, то Git можно взять здесь. Вместе с ним будет unix-like консоль
Git Bash.
https://github.com/git-for-windows/git/releases/
Клонирование через SSH
Пример команды для клонирования через SSH.
git clone git@github.com:brockgr/csshx.git
В общем случае команда для клонирования по SSH выглядит так:
git clone git@server.domain:user/reponame.git
Не перепутайте с HTTPS, который потребует авторизации через логин-пароль:
git clone https://github.com/brockgr/csshx.git
Создание ssh-ключа.
На Windows можно как через cmd, так и Git Bash, на *nix — просто в консоли. Но в
cmd я не разбираюсь, поэтому привожу инструкцию только для Git Bash & *nix:
ssh-keygen -t rsa -C "user.name@mail.domain"
Можно выбрать passphrase, который повышает надёжность, но его нужно будет вводить
каждый раз при использовании. Если забудете — ключ бесполезен для дальнейшего использования.
После выполнения команды публичный ключ появляется соответственно в
C:\Users\%username%\.ssh\id_rsa.pub
~/.ssh/id_rsa.pub
Именно публичный ключ нужно передавать специалисту на той стороне. (Наверняка вы
так и сделали, но всё-таки стоит об этом сказать)
Если всё сделали правильно, то при попытке соединения по ssh ключ будет использоваться
автоматически.
Если ключ уже есть
То его надо положить в c:\Users\%username%\.ssh. Если имя ключа отличается от id_rsa,
то надо создать файл c:\Users\%username%\.ssh\config со следующим содержимым:
Host: server.domain
IdentityFile путь_и_имя_ключа
Ответ 2
На практике мне когда-то помогла эта статья - лучший пример из всего что я видел:
http://habrahabr.ru/sandbox/37865/
В ней полностью показаны клиентские программы для работы с push-ом и pull-ом. У меня
лично Windows недолюбливал родной Git клиент, но всегда прекрасно работает с Tortoise
(есть в статье).
В ней есть полное руководство по подключению. Не уверен правильная ли это аналогия,
но вы можете поставить себе программу Composer и ей подобные, после чего можно через
консоль Windows полностью клонировать себе репозиторий с Git-а.
Если же касается более специфичного подключения именно к Git, то эта страница будет
полезной: http://webhamster.ru/site/page/index/articles/comp/171
Добавил, как попросили, кратко содержимое статьи:
Идем на официальную страницу Git http://git-scm.com, кликаем на Download for Windows.
В открывшемся окне кликаем на Full installer for official Git. Запускаем полученный
exe-шник.
Я рекомендую выбрать "Run Git from the Windows Command Prompt". Все остальные опции
можно оставлять по-умолчанию. После установки Git нужно перегрузиться или завершить
сеанс пользователя и снова войти, чтобы применились изменения в системной переменной PATH.
Далее нужно проверить, доступен ли Git для работы. В любом каталоге даем команду:
git --version
Если получаем информацию о версии, то Git установлен и работает. Если получаем информацию
что программа git не найдена, разбираемся что сделали не так.
Настройка SSH-ключей в Windows
В операционной системе Windows генератор SSH-ключей включен в комплект поставки Git.
Для генерации ключей необходимо запустить на выполнение файл C:\Program Files\Git\Git
bash.vbs. Его можно запустить как обычный exe-шник. Откроется программа "Консоль git".
В ней надо дать команду:
ssh-keygen -t rsa -C "myemail@mail.ru"
Будьте внимательны, в этой консоли подглючивает копи-паст, проще ввести команду вручную.
В качестве email указываем свой почтовый ящик. На запрос "Enter file in which to save
the key" просто нажимаем Enter. При запросе пароля "Enter passphrase" и "Enter same
passphrase again" просто нажимаем Enter. В процессе генерации ключей в консоли будет
выдаваться примерно следующая информация:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Documents and Settings/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Documents and Settings/username/.ssh/id_rsa.
Your public key has been saved in /c/Documents and Settings/username/.ssh/id_rsa.pub.
The key fingerprint is:
51:db:73:e9:31:9f:51:a6:7a:c5:3d:da:9c:35:8f:95 myemail@mail.ru
После выполнения этой программы, в каталоге C:\Documents and Settings\username.ssh
будут лежать файлы id_rsa и id_rsa.pub, они нам пригодятся в дальнейшем.
Установка SSH-ключа в GitHub
Нас колько я помню, эта часть ответа несколько изменилась в современном дизайне GitHub-а,
но интуитивно можо найти.
Сразу после регистрации необходимо прописать в системе GutHub свой публичный ключ
шифрования (открытый SSH-ключ). Для добавления ключа, надо в правом верхнем углу нажать
"Account Settings".
В открывшемся окне нужно кликнуть на пункт меню "SSH Public Keys", и нажать "Add
Another Public Key". Появится два поля - название ключа (Title) и содержимое ключа (Key).
В поле Title можно написать название компьютера, на котором сгенерирован публичный
ключ. Можно писать по-русски.
В поле Key надо вставить содержимое файла id_rsa.pub. Помните, в каком каталоге они
находятся? Переходим в этот каталог, открываем любым текстовым редактором файл id_rsa.pub
(именно с расширением .pub, не перепутайте). Выделяем весь текст, копируем, и вставляем
на странице GitHub в поле Key.
После добавления ключа, компьютер может соединяться с GitHub через программу git,
и никаких ошибок не должно возникать.
Работа с репозитарием на GitHub через программу Git
Начиная с этого момента, пляски вокруг web-интерфейса GitHub можно считать законченными.
Далее можно работать только используя программу git.
Вначале нужно сделать небольшую настройку программы git: указать локальной системе
git имя пользователя и email. Это делается следующими командами, которые можно выполнить,
находясь в любом каталоге:
git config --global user.name "YourFullName"
git config --global user.email myemail@mail.ru
где вместо YourFullName нужно написать свое имя, а вместо myemail@mail.ru - свой
email. Эти значения используются для логина на GitHub. Поэтому на месте YourFullName
нужно указать ваш логин на GitHub-е, а на месте myemail@mail.ru нужно указать email,
который вы вводили при генерации ключей шифрования.
После этих настроек, можно заливать свои файлы в репозитарий. Переходим в каталог
со своим проектом, и даем команды:
git init
git add .
git commit -a -m 'first commit'
git remote add origin git@github.com:username/reponame.git
git push -u origin master
После этих команд на сервере GitHub образуется копии файлов того каталога, в котором
были выполнены данные команды. Далее можно уже делать коммиты, заливки на сервер GitHub
изменений, считывания изменений с сервера. Но это уже совсем другая история.
Ответ 3
Вам выше уже предоставили ссылки на скачивание. Повторяться не буду.
После установки потребуется выбрать каталог в системе (или создать там, где захотите),
где будет лежать локальная копия того, что есть в удаленном репозитории. После этого
в этой директории:
git init
Не забудьте настроить свой гит через:
git config --global user.name
git config --global user.email
Это особенно актуально для продукта атлассина crucible (для код ревью).
Примечание: опцию --global использовать, если вы единственный пользователь гита на
данном компьютере. Если нет, настройте гит под конкретного пользователя в системе
Замечание про настройку пользователя скорее опционально.
Изучите официальную пользовательскую документацию на сайте либо, после установки
клиента под windows запустите git --help для получения справки.
Для клонирования репозитория в свою локальную папку используется:
git clone ssh://username@servername.com/git/folder/here
Вы также можете воспользоваться графической версией ГИТа, хотя лично я предпочитаю
везде пользовать консоль, мне она кажется более информативной.