|
Прочая документация Помощь, книги, инструкции, описания |
|
Опции темы | Поиск в этой теме | Опции просмотра |
30.04.2010, 08:51 | #1 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
Git для новичков (статья)
Работа с git для начинающих Наверное не все знают, что такое git и с чем его едят. git – это распределенная система контроля версий. Основные ее преимущества, лично для меня, распределенность и использование бинарных дифов, что упрощает работу с системой нескольких пользователей одновременно, и упрощает хранение бинарных файлов, ресурсов. git используется во многих крупных проектах: Linux kernel, KDE и многих других. Изначально git написал Linus Torvalds. Генерация ключа: Для того чтобы вы имели доступ до репозитария, необходимо сгенерировать ключ. Для этого в консоли git пишем: Код:
$ ssh-keygen -t rsa -C "tekkub@gmail.com" - Пишем это в консоле git (только подставить свой адресс) Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Tekkub/.ssh/id_rsa): - просто жмем ентер Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Tekkub/.ssh/id_rsa. Your public key has been saved in /c/Users/Tekkub/.ssh/id_rsa.pub. The key fingerprint is: e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 tekkub@gmail.com Создание нового репозитория Создание нового репозитория – это наверное первая из задач, с которой сталкивается любой разработчик. К данной проблеме есть несколько подходов. Во-первых, можно использовать только локальный репозиторий, но смысла особого я в этом не вижу. Во-вторых, можно создать открытый репозиторий, с которым смогут работать другие люди. Рассмотрим этот вариант. Предположим, что у вас есть сервер example.com и ваша рабочая машинка. Для начала вам необходимо установить git. Сделать это можно как вручную скомпилировав его из исходных кодов, так и установив с помощью менеджера пакетов. Будем считать что с этой операцией вы уже справились. Далее вам надо создать репозиторий. Предположим что вы будете хранить все git-репозитории в /var/git: Код:
cd /var/git mkdir example.git git init --bare Теперь идем на вашу рабочую машину и пишем: Код:
git init git remote add origin ssh://username@example.com/var/git/example.git touch changelog git add changelog git commit -a -m "Initital commit" git push origin master Код:
Counting objects: 3, done. Writing objects: 100% (3/3), 224 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To ssh://username@example.git/var/git/example.git * [new branch] master -> master Разумеется, после создания репозитория разумно узнать “а как же получить эти данные на свой компьютер?”. Для данной операции используется команда clone. Она создает полную копию удаленного репозитория у вас. Под полной копией понимается именно полная копия, со всеми ветками, удаленными файлами и т.д. Код:
git clone ssh://username@example.com/var/git/имя-репозитория Обновление данных С таким локальным репозиторием можно работать долгое время, однако, когда-то у вас все же возникнет необходимость передать сделанные вами изменения в удаленный репозиторий, чтобы результатами вашего труда могли воспользоваться другие участники разработки, и получить из удаленного репозитория новую версию. Для этого служат команды pull и push. Код:
git pull Код:
git push Код:
git push --tags Для базовой работы с любой системой контроля версий требуется не особенно большой набор операций: добавление файла в репозиторий, удаление файла из репозитория, комит изменений в репозиторий, отмена незакомиченных изменений и получение списка изменений. Добавление списка файлов в комит: Код:
git add file1 file2 ... fileN Код:
git add -a Код:
git rm file1 file2 ... fileN Код:
git rm -f file1 file2 ... fileN Код:
git commit Код:
git commit -a Код:
git reset --hard Код:
git diff Рано или поздно в любом проекте возникает ситуация, когда требуется заморозить изменения, но продолжать работать, а на замороженные изменения накладывать только баг-фиксы. Для этой цели служат ветви (branch) В гите можно создать ветку от любого места. Создание удаленной ветки дело не хитрое, но в первый раз не так просто сделать все правильно. Весь процесс делиться на несколько этапов * создание удаленной ветки * создание аналогичной локальной ветки * переключение на созданную ветку Процесс создания ветки на удаленном сервере 1. Создание удаленной ветки Код:
git push origin origin:refs/heads/new_branch Код:
git pull origin Код:
git branch -r Код:
git checkout --track -b new_branch origin/new_branch Код:
git pull Код:
git push origin :heads/new_branch Для открытия и закрепление новой ветки с другого места нужно выполнить два шага 1. Открыть удаленные ветки Код:
git branch -r Код:
git checkout --track -b new_branch origin/new_branch Как правило, кроме веток разработчики используют теги – чтобы запомнить состояние кода в какой-то момент. Тег – это своеобразный слепок, точно идентифицирующий состояние кода. Гит умеет работать с подписанными GPG тегами и с неподписанными. Здесь я рассмотрю только неподписанные теги. Для создания такого тега необходимо выполнить команду: Код:
git tag <tag name> Код:
git tag -d <tag name> Код:
git push --tags Код:
git fetch origin tag <tag_name> git branch <branch_name> <tag_name> git checkout <branch_name> Настройка git Для ускорения некоторых операций и увеличения удобства работы можно провести пару настроек: Настройка цветного вывода: git config --global color.ui "auto" Настройка имени пользователя и почтового адреса (между прочим, это хороший тон): Код:
git config user.name "FirstName LastName" git config user.email "user@example.com" Код:
git config --global diff.renamelimit "0" git config --global pack.threads "0" Git – очень мощная и удобная система контроля версий. Для нее существует несколько GUI утилит, которые могут облегчить работу, несколько веб интерфейсов для мониторинга текущего состояния. В последнее время все большее кол-во проектов переходят на использование git, и это показатель того, что git успешно развивается и соответствует последним требованиям в области систем контроля версий. Большое кол-во документации по использованию git можно найти в сети, в том числе и на официальном сайте Продолжение следует... Источник _http://blog.nsws.ru/rabota-s-git-dlya-nachinayushhix.html Последний раз редактировалось Konctantin; 07.06.2010 в 22:45. |
18 пользователя(ей) сказали cпасибо: | Blacksmither (12.12.2011), BloodWarrior (27.03.2011), Fear (18.07.2010), Feel the Power (07.06.2010), Hantet (26.05.2010), KiriX (01.05.2010), Limpnau (08.06.2010), lina (15.01.2011), lovepsone (30.04.2010), MaxXx2021 (10.06.2010), Mayss (22.07.2010), Medivh (07.06.2010), Neggod (30.04.2010), PSZ (05.05.2010), srv38 (01.05.2010), YuruY (26.03.2011) |
Метки |
branch, git |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
"текст в стиле варкрафт" - статья с демиарт | tempura | Прочая документация | 2 | 28.03.2010 09:08 |