среда, 16 января 2013 г.

Как использовать bitBucket с EGit в Eclipse

bitBucket EGit Eclipse
Git в наши дни набирает популярность и когда мы используем систему контроля версий вроде Git или SVN, мы хотим сделать доступным наш код для других разработчиков. Нам необходим Git-сервер для размещения кода типа www.bitBucket.org, который бесплатен для ограниченного использования.



Для настройки проекта в Eclipse и размещения(push) проекта на bitBucket вам необходимо проделать следующие действия:
(1) установить EGit в Eclipse (http://www.eclipse.org/egit/);
(2) создать проект в Eclipse, например HelloWorld; нажать правую клавишу на проекте и выбрать Team->Share project... чтобы добавить проект в систему контроля версий; снова нажать правую клавишу на проекте и выбрать Team->Add to index для добавления всех файлов проекта в систему контроля версий; снова нажать правую клавишу на проекте и выбрать Team->Commit... для коммита всех файлов;
(3) открыть аккаунт на www.bitBucket.org, например с именем myaccount;
(4) сконфигурировать SSH в Eclipse:
выбрать ваш проект HelloWorld;
открыть меню Window->Preference->General->Network Connections->SSH2;
если к этому моменту у вас нет SSH ключей (bitBucket требует SSH ключи для авторизации), выберите закладку Key Management и нажмите кнопку Generate RSA Key... (Вы также можете использовать DSA keys);
затем вы увидите сгенерированный публичный ключ в текстовой зоне и вы должны скопировать и сохранить его в вашем аккаунте на bitBucket (Аватар->Manage Account->SSH Keys->Add Key), вы также должны нажать кнопку Save Private Key... , чтобы сохранить секретный ключ на вашем компьютере;
выберите закладку General и нажмите кнопку Add Private Key... для выбора секретного ключа, который вы сохранили на предыдущем шаге;
нажмите кнопку OK чтобы применить изменения;
(5) на bitBucket, создайте репозиторий с именем HelloWorld, теперь у вас получился SSH адрес репозитория вида:
ssh://git@bitbucket.org/myaccount/HelloWorld.git
(6) кликните правой кнопкой на проект в Eclipse и выберите Team->Remote->Push...
затем введите SSH адрес и выберите в качестве протокола SSH; нажмите клавишу Next>;
(7) выберите только пункт Add all branches spec и нажмите клавишу Next>;
(8) нажмите OK;

Теперь другие разработчики могут клонировать проект размещенный на bitBucket, и они так же могут вносить изменения в репозиторий.
Однако, хотя вы можете вносить изменения, вы не можете получить изменения из удаленного репозитория.
Для решения этой проблемы вы должны добавить следующие строки в конфигурационный файл Git (в вашей папке проекта Eclipse .git/config):
[remote "origin"]
url = ssh://git@bitbucket.org/myaccount/HelloWorld.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

 Оригинал: http://wangpidong.blogspot.com/2012/05/how-to-use-bitbucket-with-egit-in.html (english)

P.S. более подробное описание на английском http://www.vogella.com/articles/EGit/article.html