пятница, 23 июля 2010 г.

Интегрируем Windows + Eclipse Helios + Git (GitHub)

  Совсем недавно вышла очередная верси Java IDE Eclipse под номером 3.6 и кодовым названием Helios. Одним из долгожданных нововведений стало включение поддержки распределенной системы версий Git в основной релиз Eclipse.

  Стоит отметить что поддержка Git для Eclipse была реализована намного раньше и включала в себя 2 модуля:
  • JGit - реализация Git на Java
  • EGit - собственно сам plugin для Eclipse
 Но включению этих модулей в Eclipse мешали лицензионные проблемы в несовместимости текущей лицензии J/EGit и Eclipse. Но за последнее время их удалось разрешить и EGit был включен в Eclipse Helios как Incubation проекты.

Некоторые Eclipse разработчики в своих блогах пишут что включение EGit в Eclipse стало поводом для миграции некоторых подроектов Eclipse c Svn/Cvs на Git. Вот и я решил попробовать новые возможности Git в маленьком R&D проекте. Но, как оказалось чтобы подружить Windows  + Eclipse + Git (GitHub) надо потратить немного времени на настройку и Gogglение. Я свое время уже потратил и расскажу о результатах.

  1. В первую очередь нам нужен Eclipse 3.6 Helios (или более новая версия). Скачать его можно на сайте Eclipse Foundation. Я использовал редакцию Eclipse IDE for Java EE Developers.
  2. Небходимо установить JGit и EGit, т.к. по умолчанию они не установлены. Для этого в Eclipse идет в  меню Help->Install New Software...
    1. В разделе Work With выбираем Helios
    2. В появившемся дереве плагинов выбираем раздел Collaboration
    3. Помечаем для установки модули JGit и EGit
    4. Нажимаем Finish
  3. Ставим Git
    1. Оффициальных сборок Git для Windows все еще нет
    2. На сайте проекта msysgit можно скачать специальную сборку для Windows.
    3. Я использовал вариант Git-1.7.0.2-preview20100309.exe 
    4. В процессе установки можно оставлять все опции в значениях по умолчанию
    5. После установки необходимо настроить 2 ключевых параметра
      1.   git config --global user.name "Pavel Vinogradov"
      2.   git config --global user.email pavel.vinogradov@email.com
    6. Также необходимо сгенерировать ssh ключ для работы с удаленными репозитариями по ssh
      1. для этого необходимо в проводнике Windows через контекстное меню открыть Git Bash
      2. В Git Bash нужно выполнить: ssh-keygen -C "pavel.vinogradov@nixdev.net" -t rsa
      3. Сгенерированный ключ будет храниться в вашем Windows профиле в папке .ssh
  4. Если у вас еще нет аккаунта на GitHub, тогда самое время его завести. GitHub на данный момент является самым популярным хостингом git репозитариев. Вы совершенно бесплатно можете хранить на нем до 300Mb кода в публичных репозитариях, а вот дальше придется платить.
    1. Создаем аккаунт
    2. Создаем проект с публичным репозитарием
    3. Загружаем публичный ключ из .ssh/id_rsa.pub
  5. Теперь в консоли мы можем не только работать с локальным git репозитарием, но и синхронизироваться с репозитарием на GitHub
  6. Соединяем проект Eclipse и GitHub
    1. Настраиваем ssh в Eclipse
      1. Eclipse в Windows самостоятельно работает с ssh, поэтому по умолчанию не видит ключей, которые мы сгененировали раннее. Это описано в Issue 104: SSH problem on Windows
      2. Идем в Window->Preferences->General->Network->SSH2 и в качестве Ssh Home указываем папку .ssh в вашей домашней директории
      3. После этого переходим на вкладку Key Management и выбираем Load Existing Key и указываем сгенерированный ключ
    2. Импорт проекта с GitHub
      1. Выбираем Import->Git->Projects from Git
      2. Вариант Clone
      3. В url указываем адрес репозиратрия: git@github.com:/.git
        1. В качестве протокола выбираем git+ssh
        2. В имени пользователя указываем git
      4. Eclipse автоматически воспользуется вашим ssh ключем для авторизации на GitHub
    3. Экспорт проекта на GitHub
      1. Выбираем Team->Push
      2. В качестве URLа назначения указываем адрес репозитраия проекта на GitHub
      3. Выбираем протокол git+ssh
  7. Профит. Работаем и радуемся.
Для дальнейшего ознакомления с EGit и Git рекомендую:

07.09.10: Небольшой бонус. Настройка Git Server на Vindows 7.

3 комментария:

  1. Супер! Спасибо за подробную инструкцию. С Git дело имел, а вот Eclipse только сегодня скачал для работы с python. Ваша инструкция ОЧЕНЬ пмогла разобраться свопросом в кратчайшие сроки. Спасибо!

    ОтветитьУдалить
  2. Несовсем понятно зачем отдельно нужно ставить git на винду, если в Еклипсе есть свой плагин для работы с гитом.

    ОтветитьУдалить