Git репозиторий сообщества IFF проекта NVN

Всем привет, в рамках IFF, разрабатывается проект NVN. Для координации усилий была выбрана система контроля версий Git и создан аккаунт нашего сообщества на GitHub : https://github.com/it-for-free . Там же есть репозиторий проекта: https://github.com/it-for-free/nvn .
Расскажем в посте:

  • о том как подключиться к разработке
  • об использовании репозитория nvn

О git не раз говорилось ранее, сейчас поговорим о GitHub. Для начала надо прочесть раздел посвящённый этому гит-хостингу в ProGit .

После чего создать аккаунт на GitHub, затем связаться со мной по e-mail: PPG-plotnikov@yandex.ru или посредством GitHub https://github.com/humanmashine, чтобы я вас добавил в команду разработчиков, также это может сделать любой иной владелец и администратор IFF, список которых можно посмотреть в аккаунте сообщества на GitHub.

Для того, чтобы участвовать в разработке надо работать с репозиторием в защищённом режиме, https или ssh, я предлагаю вам сделать ssh ключи и залить их в ваш аккаунт - подробности можно найти: тут, а также тут (не забываем выбирать в меню тип операционной системы).

//////------------------------------------------------------------------------------------------------------

Теперь об основах использования репозитория nvn:
Для начала нужно склонировать репозиторий командой : git clone git@github.com:it-for-free/nvn.git <путь к вашей папке> - это для работы по протоколу ssh, для иных способов - читайте документацию или задавайте вопросы.

После этого вы будите иметь локальную копию репозитория, что вам и нужно, и эта копия уже будет настроена на работу с нашей репой))))

Git -это отдельная тема, тут о репозитории))) Итак, о репозитории (полный доступ к этим фитчам получите после того, как вас добавят в команду разработчиков):

  1. В первой вкладке Code лежит собственно сам код и файлы, а также список коммитов и информация о ветках (на данный момент их три - master, test,dec).
    Советую вам переключиться на ветку dev и не трогать ветку master, так как эта ветка для админов и конечных пользователей, туда будет помещаться только конечный и проверенный вариант продукта, в ветке test будет проводиться тестирование последней логически завершённой версии, а сама работа будет проводиться в ветки dev и от неё производных ветках, так что лезть в test и master вам особо не нужно.
  2. Вкладка Network показывает дерево веток))) смотрите и наслаждайтесь. На момент написания поста там всё скудно.
  3. Вкладка Wiki - это собственно "энциклопедия" - документация проекта, со всеми возможными инструкциями и пояснениями. Пока пустая, будем активно заполнять.
  4. Вкладка Issues одна из самых интересных, - это мини система управления проектами. Сам Issue - это как бы "вопрос" - объект работы, это может быть постановка вопроса об устранении бага, добавления "плюшки" и.т.д. Существуют как issue закреплённые за эпохами (milestones) , так и просто висящие за проектом.
    Текущие за проектом задачи закреплены за последней "эпохой", так что рекомендую выставить в левом меню свежую milestone ( на момент написания поста то Begining) чтобы увидеть и обсудить (да там можно обсуждать) текущие issues. Ну а в субвкладке Milestones можно как раз проглядеть список "эпох" и отводимые на них временные рамки - временных рамок может и не быть.

В общем, это все основные сведения, если что не понятно - спрашивайте, пишите.

humanmashine's picture

Немного добавлю, дело в том, когда вы склонируете репозиторий, то у вас будет только одна ветка master "нормальная" , остальные командой git branch не отобразятся. Что делать? Выполнить команду git branch -a , которая покажет, что у вас настроены ещё удалённые ветки и потом выполните команду git checkout -b <локальное имя ветки> <удалённое имя ветки>. Чтобы работать в соотвествующих ветках.
Для более детального понимания прочтите пожалуйся эту страницу: вот эту))).

А теперь лог того, как скопировал и настроил для локального пользования у себя этот репозиторий, в котором уже были три ветки:

****************:~> git clone git@github.com:it-for-free/nvn.git /home/pavel/programming/nvn
Cloning into '/home/pavel/programming/nvn'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), 246 bytes, done.

****************:~/programming/nvn> git branch
* master

****************:~/programming/nvn> git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
remotes/origin/test

****************:~/programming/nvn> git checkout -b dev origin/dev
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'

****************:~/programming/nvn> git checkout -b test origin/test
Branch test set up to track remote branch test from origin.
Switched to a new branch 'test'

****************:~/programming/nvn> git branch
dev
master
* test

****************:~/programming/nvn> git checkout dev
Switched to branch 'dev'

Обратите внимание, что при последнем вызове git branch появились нужные локальные ветки с нужными названиями. Важно, убедитесь что вы работаете не с веткой master, о чём я говорил ранее.