Git

Изменил последним Camel Тотсамый 2012 34 17

Git

Я вам расскажу про Git. Мне хотелось назвать этот текст Git by Dummies, потому что я ни капли не специалист по Git'у. Однако надеюсь самостоятельно разобраться и вам всё объяснить. 

Что Git есть

Git есть децентрализованная система контроля версий. В переводе на русский это означает, что Git поможет вам хранить большое количество разных версий ваших файлов, и делиться ими с другими людьми без использования сторонних сервисов и серверов.

Что Git не есть

Git не есть система документооборота, Git только хранит разные версии ваших файлов, он не следит как вы их используете, когда и кому передаёте. Кроме того Git не есть искусственный интеллект, он не знает что за информация лежит в разных файлах и как её правильно хранить и следить за изменениями. Git будет сохранять не все версии файла, но только те о которых вы попросите.

Установка

По идее, если вы хотите использовать Git, то скорее всего уже имеете достаточно знаний о том как ставится ПО, но для полноты картины таки упомяну, что в Gentoo, Funtoo и Calculate'е нужно набрать
sudo emerge -a git
В Ubuntu и Debian'е покет будет иметь какое-нибудь традиционно маразматическое наименование, что-нибудь в духе git-common.

Начинаем использование

Использование Git'а начнём с задания некоторых конфигурационных опций.
git config --global user.name “Donkey Schon”
git config --global user.email “git@mailinator.com”

Теперь Git знает как нас зовут и как с нами связаться. Есть ещё опции, их описание вы можете найти в документации.

Используем для себя

Заходить в какую-нибудь удобную для работы директорию и набираем
git init
Initialized empty Git repository in /home/camel/Desktop/git_by_dummies/.git/

Git создал в нашей директории скрытую директорию .git, он хранит в ней свои служебные данные. Благодаря этому мы теперь не просто в директории, но в репозитории Git'а. Посмотрим что Git нам расскажет.
git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

Ветвь master, commit'ов ещё не было. Напоминает нам, что неплохо бы запустить git add чтобы указать за какими файлами стоит следить. Что ж, создадим файлы.
touch text.txt
cp ~/test.ogg test.ogg
git add text.txt
git add test.ogg

Что нам теперь скажет Git?
git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
# new file:   test.ogg
# new file:   text.txt
#

Ветвь по-прежнему master, но теперь Git сообщает нам, что по сравнению с предыдущим состоянием появились изменения, и чтобы их не потерять необходимо произвести commit. А сами файлы test.ogg и text.txt скопированы в staging area, откуда можно взять данные если мы захотим откатиться назад. 

Используем для других

Git и SSH

Git и PGP

Git и Scons

Git и Subversion

Git и Emacs

Пользователям ущербных ОС

Глоссарий

rebase
push
pull
commit
revision
tag
stash
Тэги:
Создал Camel Тотсамый 2012 25 15

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 3.3 - Documentation