Git tortoise for windows

Posted on: October 26th, 2012 by Heart No Comments »

Переходим с svn на git

Опустим подробности о преимуществах и недостатках git, а также отличия этой системы от тех, которыми вы пользовались до нее. Так уж сложилось, что начинающие разработчики используют изначально subversion в качестве системы контроля версий своего кода. Продвинутые разработчики уже давно знают, что такое git и врядли нуждаются в подобных статьях, поэтому смею предположить, что если вы читаете эту статью, значит решили попробовать git как альтернативу svn или как инструмент для решения своих задач другим способом. Цель статьи - быстрый старт с git tortoise.

Windows server git

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

Tortoise for Windows

Заходим на страницу tortoise git download и закачиваем себе этот git gui client. Запускаем инсталлятор и выбираем опцию “TortoisePLink, coming from Putty, integrates with Windows better.

Git ssh

Для доступа к репозиторию git, будем использовать rsa-ключи. Работает это следующим образом:

  1. генерируем при помощи git bash rsa-ключи
  2. добавляем rsa public-ключ на сервер с git
  3. клонируем репозиторий

Запускаем git bash и используем следующую команду:

ssh-keygen -t rsa -C "heart@acestime.com"

Оставьте папку для сохранения ключей по умолчанию. Она будет создана в папке пользователя c:/Document and Settings/User/.ssh. Введите passphrase. Будут созданы два ключа: id_rsa и id_rsa.pub. Скопируйте текст из файла id_rsa.pub на сервер с вашим репозиторием. Обычно, добавить ключ можно в настройках аккаунта сервиса. После того, как ключ добавлен, можно приступить к клонированию репозитория.

Перед использованием git, необходимо выполнить еще пару команд для установки глобальных настроек:

git config --global user.name heart
git config --global user.email heart@acestime.com

TortoisePlink

Для того, чтобы получить доступ к репозиторию git через git window client, в нашем случае tortoise git, используется специальный интерфейс командной строки tortoise plink. Для работы с этим интерфейсом, необходимо сконвертировать наш id_rsa-ключ в приватный key putty. Для этого, находим в папке с установленным tortoise git putty puttyget. По умолчанию он находится тут c:\Program Files\TortoiseGit\bin\puttygen.exe. Загружаем в генератор наш id_rsa, вписываем passphrase, генерируем и сохраняем приватный ключ. В результате должен получиться файл id_rsa.ppk.

Pageant

Для того, чтобы при каждой команде к репозиторию не приходилось вводить passphrase, используется агент SSH-аутентификации pageant. По умолчанию он находится тут c:\Program Files\TortoiseGit\bin\pageant.exe. Его можно запустить вручную и добавить ключ id_rsa.ppk, а можно поставить галку “Load Putty Key” и если pageant не запущен, он будет запускаться и загружать ключ. При первом добавлении ключа, нужно будет ввести passphrase. В дальнейшем, программа будет висеть в трее и вводить ничего не будет нужно.

Git clone

Для начала работы с кодом необходимо клонировать репозиторий. Клонирование репозитория в git, подобно checkout в subversion. Выбираем папку на диске, и в контекстном меню клацаем Git Clone… Если pageant уже запущен, начнется загрузка данных с сервера, если нет – запустится pageant, как уже отмечалось выше и попросит ввести пароль.

TortoisePlink login as…

Каждый раз при обращении к репозиторию через tortoisegit, pageant будет передавать нужную информацию о ключе, тем самым избавляя вас от постоянных запросов на ввод пароля, но если использовать настройки по умолчанию, каждый раз при попытке отправить что-то на сервер, будет выскакивать окно с запросом plink на ввод логина. Чтобы этого не происходило, необходимо  в контекстном меню на клонированной папке выбрать TortoiseGit–>Settings. Далее выбрать Git–>Remote:Origin. В поле URL, нужно добавить перед адресом свой логин, вот так:

ssh://heart@xp-dev.com/myproject

Leave a Reply