Авторизация идёт по ключу. Ключи брать у Asmodeus’a.
Прописать путь к ключу в /etc/ssh/ssh_config
Host abills.net.ua IdentityFile **Путь к ключу**
Указываем свои даные
# git config --global user.name *Имя разработчика* # git config --global user.mail *e-mail разработчика*
Клонирование репозитория
# cd /usr # git clone git@abills.net.ua:abills.git
*Если просит пароль для git, значит не подхватило ключ.
Для примера, рассмотрим правку модуля Msgs. Переходим в dev:
# git checkout dev
Стягиваем обновления из dev
# git pull origin dev
Отделяем ветку
# git branch Msgs
Переходим в новую ветку
# git checkout Msgs
Можно одной командой
# git checkout -b Msgs
Создаём новую ветку для задачи Msgs
# git checkout -b Msgs
В новой ветке:
Повторить нужное количество раз:
<эти действия>
Редактируем до достижения результата.
# edit some files\\ Фиксируем изменения:\\ # git commit -a -m ‘(описание изменений)’\\
</эти действия>
Заливаем в основной репозиторий в ветку Msgs
# git push origin Msgs
Перемещаем свою папку abills
Клонируем репозиторий
Отделяем ветку
Вносим свои изменения из копии
Фиксируем.
Conflict
Если несколько человек редактировали один файл, может возникнуть конфликт слияния.
После git pull и сообщения о возникновения конфликта
# vimdiff *путь к файлу*
ищем »»>HEAD
…..
===========
…..
««««<Msgs
Оставляем нужную часть, сохраняем
добавляем в index
# git add *путь к файлу*
Фиксируем,
Повторяем git pull
возврат к коммиту:
# git revert (hash-код комита)
возврат на 5 коммитов назад:
# git reset HEAD~5
Посмотреть историю коммитов для текущей ветки
# git log
Посмотреть, кто что правил в файле
# git blame <путь/к/файлу/имя файла>
Если во время работы над одной веткой, нужно перейти в другую, без фиксации изменений
“Прячем” изменения:
# git stash
Переходим в другую ветку:
# git checkout branch2
Редактируем:
# edit some files
Фиксируем:
# git commit -a -m ‘message’
Возвращаемся в первую ветку:
# git checkout branch1
Применяем спрятанные изменения:
# git stash pop
Git log варианты вывода
git log --graph --pretty=format:"%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset" --all
# git remote update origin --prune
Вставить в ~/.gitconfig в секцию [alias]
[alias] st=status pl = pull ph = push b = branch ch = checkout df = diff hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short type = cat-file -t dump = cat-file -p
Подготовка кода к review
Залить код для проверки
текущая_ветка
_review)
Обработать результат review
После получения ответа
Если задача перемещена в статус «Обратная связь»
_review
в ветку задачи.
Если задача перемещена в статус «Решена»
# TODO: comments
._review
Решена
или Обратная связь
)