Создание проекта в Eclipse с поддержкой Git
Введение
В этой статье мы рассмотрим как
1. Настроить доступ к git на стороне сервера.
2. Создать пустой репозиторий на сервере и скопировать в него файлы проекта.
3. Настроить управление репозиторием на рабочей машине в Эклипсе.
При выполнении указанных задач использовался:
a) сервер на основе Debian 7
б) десктоп Ubuntu 16.04
в) Eclipse Version: Mars.2 Release (4.5.2)
Примечание
До действий указанных ниже, на сервере и десктопе, уже должен быть установлен Git, а также в среде Eclipse должен быть установлен плагин git.
Сторона сервера
Для связи с git репозиторием на сервере был выбран протокол SSH. Причина такого выбора в том, что по этот протокол обычно есть "из коробки" на каждом Линукс сервере. Нам же остается только настроить метод аутентификации authorized_keys .
Первым делом нужно создать пользователя git в нашем случае «username» и папку .ssh для этого пользователя:
$ sudo adduser username $ su username $ cd $ mkdir .ssh
(Вобщем в папке юзера создаем папку .ssh)
Затем для этого пользователя нужно добавить открытые SSH-ключи какого-либо разработчика в файл authorized_keys .
Создаем ключ на рабочем компьютере:
$ ssh-keygen
Будет предложено ввести пароль и указано где будет сохранен публичный ключ.
Так выглядят открытые ключи:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq dAv8JggJICUvax2T9va5 gsg-keypair
Далее нужно файл публичного ключа скопировать на сервер каким-либо способом.
Например по протоколу ftp.
Потом добавляем ключ в файл authorized_keys c помощью команды:
$ cat /ourdir/our_public_key.pub >> ~/.ssh/authorized_keys
Инициализация пустого репозитория
Перед инициализацией репозитория, на сервере в директории где находятся (или будут находиться) все git репозитории необходимо создать директорию в которой будут храниться системные файлы репозитория. Ее название может быть любой, но принято чтобы имя заканчивалось на ".git". Например "myproject.git".
Переходим в директорию где будут храниться репозитории. (При необходимости ее можно создать где-нибудь, например в /home/user) и создаем директорию git для будущего репозитория. Инициализируем пустой git репозиторий.
$ cd /repo_dir $ mkdir project.git $ cd project.git $ git init --bare
Теперь можно добавить этот репозиторий как удаленный и отправить туда первую версию проекта. Имейте в виду, что каждый раз, когда вы хотите добавить проект, кто-то должен создавать на сервере голый репозиторий.
Пусть сервер, называется gitserver . Если он находится во внутренней сети и вы настроили ссылающуюся на этот сервер DNS-запись для gitserver, командами можно пользоваться следующим образом на компьютере пользователя:
$ cd myproject $ git init $ git add . $ git commit -m 'initial commit' $ git remote add origin git@gitserver:/repo_dir/project.git $ git push origin master
В результате мы получили репозиторий на сервере инициализированный рабочей копией проекта.
Настройка репозитория в среде Eclipse
После добавления данных через консоль в репозиторий на сервер, можно зайти в Eclipse и создать новый проект указав каталог myproject, которые мы использовали для инициализации репозитория. После того, как мы пройдем все этапы создания проекта в среде, в PHPExplorer в заголовке нашего только что созданного проекта в квадратных скобках уже должен быть указан git репозиторий. Переходим в перспективу git и видим наш репозиторий. В дереве remote\origin в строчке возможно нужно вначале указать тип протокола - "ssh". Для этого в контекстном меню выбираем "configure fetch" и далее в окне "сhange" кнопку.
