Краткое руководство для начала работы с git, без сложного материала ;)
Создайте новую папку, откройте её и выполните
git init
чтобы создать новый git репозиторий.
Выполните команду, чтобы создать клон локального репозитория:
git clone /path/to/repository
Если репозиторий на удалённом сервере, команда выглядит так:
git clone username@host:/path/to/repository
Ваш локальный репозиторий состоит из трёх «деревьев», которые поддерживает git. Первое это工作目录, оно хранит сами файлы. Второе это 暂存区(Index), оно работает как область подготовки и временно хранит ваши изменения. Последнее это HEAD, оно указывает на результат вашего последнего коммита.
Вы можете внести изменения (добавить их в область подготовки) с помощью команды:
git add <filename>
git add *
Это первый шаг базового рабочего процесса git. Выполните команду, чтобы фактически закоммитить изменения:
git commit -m "代码提交信息"
Теперь изменения закоммичены в HEAD, но ещё не в вашем удалённом репозитории.
Ваши изменения сейчас в HEAD локального репозитория. Выполните команду, чтобы отправить их в удалённый репозиторий:
git push origin master
Вместо master укажите любую ветку, которую хотите отправить.
Если вы не клонировали существующий репозиторий и хотите подключить свой репозиторий к удалённому серверу, добавьте его командой:
git remote add origin <server>
Теперь вы можете отправлять свои изменения на добавленный сервер.
Ветки изолируют разработку отдельных функций. При создании репозитория ветка master является веткой по умолчанию. Разрабатывайте в других ветках, а после завершения сливайте их в основную ветку.

Создайте ветку с именем «feature_x» и переключитесь на неё:
git checkout -b feature_x
Переключитесь обратно на основную ветку:
git checkout master
Затем удалите созданную ветку:
git branch -d feature_x
Пока вы не отправите ветку в удалённый репозиторий, она невидима для других:
git push origin <branch>
Чтобы обновить локальный репозиторий до последних изменений, выполните:
git pull
Это выполнит fetch и merge удалённых изменений в вашей рабочей директории.
Чтобы слить другую ветку в текущую (например master), выполните:
git merge <branch>
В обоих случаях git попытается автоматически слить изменения. К сожалению, это не всегда succeeds, и могут возникнуть конфликты (conflicts). Тогда вам нужно отредактировать эти файлы и вручную разрешить конфликты (conflicts). После правки выполните команду, чтобы пометить их как успешно слитые:
git add <filename>
Перед объединением изменений вы можете просмотреть разницу с помощью следующей команды:
git diff <source_branch> <target_branch>
Для выпуска программного обеспечения рекомендуется создавать теги. Эта концепция существует давно, она есть и в SVN. Выполните следующую команду, чтобы создать тег 1.0.0:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff — это первые 10 символов ID коммита, который вы хотите пометить. Получить ID коммита можно следующей командой:
git log
Вы также можете использовать меньше первых символов ID коммита, если ссылка остаётся уникальной.
Если вы допустили ошибку (конечно, лучше, чтобы этого никогда не происходило), вы можете заменить локальные изменения следующей командой:
git checkout -- <filename>
Эта команда заменяет файлы в вашей рабочей директории последним содержимым из HEAD. Изменения, уже добавленные в индекс, и новые файлы не затрагиваются.
Если вы хотите отменить все локальные изменения и коммиты, получите последнюю историю версий с сервера и укажите вашу локальную главную ветку на неё:
git fetch origin
git reset --hard origin/master
Встроенный графический интерфейс git:
gitk
Цветной вывод git:
git config color.ui true
При показе истории каждый коммит отображается одной строкой:
git config format.pretty oneline
Интерактивное добавление файлов в индекс:
git add -i