Категорії
Misc, staff, other

Небольшой tutorial для работы с git’ом (на примере gitosis)

После того как у вас настроен gitosis, можно переходить к процессу его администрирования. Ниже опишу действия, которые помогают администрировать

1) Добавить нового юзера

– делаем клон локально репозитария gitosis-admin.git:

$git clone ssh://git@gitosis/gitosis-admin.git

где gitosis – алиас хоста, описанного в ~/.ssh/config

– переходим в репозитарий и правим конфиг

$cd gitosis-admin && nano gitosis.conf

– добавляем публичный ключ юзера USER (авторизация на сервере gitosis проходит от имени юзера git но по ключам; каждый юзер генерирует пару ключей и публичный высылает администратору)

$git add keydir/USER.pub

– делаем commit (обязательно, иначе git diff ничего не выведет)

$git commit -a -m "Added user USER to the git project"

– смотрим изменения

$git diff origin/master..HEAD

– делаем push

$git push

2) Добавление нового репозитария.

– на сервере gitosis создаём папку (делается от имени юзера git)

$cd ~/repositories && mkdir someproject.git && cd someproject.git/

– создаём пустой репозиторий

$git init --bare
>> Initialized empty Git repository in /home/git/repositories/someproject.git/

Что бы дать права юзеру на репозитарий – делаем как в п1 (клонируем, редактируем gitosis.conf, делаем commit и push)

3) Краткие команды.

Приятной неожиданность есть то, что git пишет историю всех команд в ~/history.git.

– узнать в каком бранче и какие файлы поменялись:

$ git status

– переключится на бранч:

$ git chekout ИМЯ_БРАНЧА

– слить изменения с бранча:

$ git pull origin ИМЯ_БРАНЧА

Если слить изменения в текущей ветки, то можно использовать краткую команду

$ git pull

– отказаться от всех правок локально:

$ git reset --hard

– создать новый бранч (создаём бранч, переключаемся на него, добавляем его в удалённый репозиторий и смотрим, появился ли он там)

$ git branch NEW_BRANCH
$ git checkout NEW_BRANCH
$ git push origin NEW_BRANCH
$ git branch -r | grep NEW_BRANCH

Но лучше явно указывать, что бы случайно не оказаться в мастере:

$ git pull origin branch22
$ git push origin branch22

– включить цветовую схему

$ git config --global color.ui true

– история изменений конкретного файла:

$ git log -p unix/nginx/vhost_templates/vhost.conf.tpl

– история изменений конкретного юзера:

$ git log -p --committer=skeletor

Разное.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff