Всем привет.
Как Вы знаете для контроля версии для Кронос проекта, мы используем Git.
Небольшая справка о Git:
1. Клонирование
Для того, чтобы склонироваться с правами на запись необходимо пройти по ссылке
https://sourceforge.net/projects/kronos2/develop и скопировать вторую строчку,
у меня она выглядит так:
git clone ssh://mo...@kr.../gitroot/kronos2/kronos2
и выполнить её у себя в терминале.
2. Синхронизация кода
Для того, чтобы забрать последнюю стабильную версию с сервера и
синхронизировать со своей необходимо выполнить команду:
git pull origin master
3. Заливка нового кода
Для заливки на сервер ваших изменений необходимо сделать следующие команды:
Чтобы убедиться в том, что вы добавили все файлы, которые вы изменяли
необходимо сделать:
git status
После этого если тот файл (допустим он называется new.txt), который вы хотите
залить помечен как untracked, то делаем:
git add new.txt
После этого необходимо зафиксировать ваш код командой:
git commit -a -m="Изменения касающиеся Энтой! задачи"
И после того как вы убедились в том, что вы ничего не забыли добавить можно
код смело отправлять на сервер командой:
git push origin HEAD:testing
Переключение между ветками
В git самая лучшая поддержка ветвлений (бранчивания). Рассмотрим пример:
Предположим, что у меня перестал работать DriverX, и я решил вернуться в
предыдущую версию, так как я уверен, что в предыдущей версии все работало, для
этого необходимо в начале найти как называется предыдущая фиксация:
git log
Вывелось следующее:
commit c3d952f96be71db61e65bf02c13b2e75417b961e
Author: moskvin <mo...@fr...>
Date: Fri Mar 18 19:42:24 2011 +0600
=Changes for DriverZ
commit c0cc951f0f76fe37c04cb76bbdda5ae1ec7f8422
Author: moskvin <mo...@fr...>
Date: Thu Mar 10 01:20:09 2011 +0600
=Changes for DriverX.
Возвращаемся, с помощью команды:
git checkout c0cc951f0f76fe37c04cb76bbdda5ae1ec7f8422 -b old
Если набрать git branch, то можно заметить, что по мимо ветки master появилась
ветка old. После того как выяснилось в чем была проблема возвращаемся в
master:
git checkout master
Слияние веток
Чтобы слить текущую ветку (master) с какой-нибудь другой (testing) необходимо
сделать:
git merge testing
Соглашение
Давайте примем за соглашение следующие вещи:
1) В git заливаемся в ветку testing (как это делать можно увидеть повыше)
2) Ветка master - это стабильная ветка, в которую будем заливать готовые
решения той или иной задачи.
3) В проект не в коем случае не заливать бинарные (объектные) файлы. Следите,
чтобы при добавлении (git add) не добавилась директория со сборкой.
Исключением являются жесткие для Кронос-машины, которые находятся в директории
src/disks.
4) Стараемся как можно чаще делать фиксацию кода git commit (раз в день).
Немного реже git pull/git push (хотя бы раз в неделю, либо после email-
нотификации)
--
Best regards, Nikolay Moskvin
Certified Java SE 6 Programmer
C/C++ Linux developer
|