Про Git
Скопипащу сюда свой собственный мануал для новеньких разработчиков.
Установка git
$ sudo su
$ apt-get install git-core git-gui git-doc
SSH ключи
Шаг 1. Проверяем есть ли у вас уже ключи.
cd ~/.ssh
Если отвечает “No such file or directory“ идем на шаг 3. Иначе идем на шаг 2.
Шаг 2. Бекапим имеющиеся
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
Шаг 3. Создаем новый ключ
ssh-keygen -t rsa -C «[email protected]»
[enter]
Шаг 4. Нужно добавить ваш ключ на репозиторий, например gitorius, gitlab, bitbucket
cat id_rsa.pub
ctrl+c ctrl+v в браузер.
Шаг 5. Добавляем персональную информацию
git config —global user.name «Firstname Lastname»
git config —global user.email «[email protected]»
Использование
git init — создать в этой папке git репозиторий
git status — получить информацию на какой ветке мы сейчас находимся, список внесенных изменений
git checkout development — переключиться на основную девелоперскую ветку.
git pull origin development — скачать с серевра самую свежую версию ветки development и залить ее в текущую ветку.
git checkout -b new_branch_name — создать новую ветку из текущей (на которой вы сейчас находитесь).
git reset —hard — отменяет все изменения сделанные до коммита
git commit -a — сохраняет на вашем локальном компе в ветке все изменения, которые вы внесли
git push origin branch_name — закачивает на сервер вашу модифицированную ветку
Для работы в общем-то и этого набора команд достаточно :)
Ништяки
Вывод названия текущей ветки в строку приглашения bash.
Выглядит примерно так: /var/www/site (master) $
Создать в домашней директории файл .gitbranch.sh с правами на исполнение для владельца:
#!/bin/bash
GIT_BR=`git symbolic-ref HEAD 2> /dev/null | cut -b 12-`
if [ "$GIT_BR" = "" ]; then
echo -n
else
echo -n "($GIT_BR)"
fi
</pre>
в файле .bashrc, находящейся в домашней директории найти строку
<pre class="brush:shell">if [ "$color_prompt" = yes ]; then
PS1='...
и заменить ее на
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\e[1;31m\]:\[\e[01;34m\]\w\[\e[00m\]`~/.gitbranch.sh`\[\e[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w`~/.gitbranch.sh`\$ '
fi
так же 10 строками выше можно раскоментировать force_color_prompt=yes
GUI
Многие разработчики в нашей команде используют либо командную строку, либо gtk-шный Git Gui. Я же рекомендую SmartGit, пожалуй это лучший клиент из всех что я видел. Еще весьма неплохо работает с гитом клиент, встроенный в PHP Storm.
Из очень удобных клиентов под Linux я бы еще назвал Gitg. Он особенно полезен для просмотра дерева веток и истории слияний веток между собой. Устанавливается он с полпинка по apt-get install gitg.
Вот забавно, хотел сейчас причитать о том, как жаль, что под Mac нет такого классного инструмента, как оказалось, что Gitg это клон GitX, содранного с маков :)
Под Windows я использую тот же самый SmartGit и консоль (mingw), которая поставилась самим инсталлятором. Скачать git для windows можно на http://git-scm.com/
Ссылки по теме:
Прекрасная книга Pro Git
Магия Git — другая прекрасная книга про гит