git для ленивых

git - это весьма популярная распределенная система контроля версий. Я уже достаточно давно ей пользуюсь, но обхожусь необходимым минимумом из 5 команд (init, add, commit, rm, log). Для того чтобы познакомиться с git ближе и упорядочить собственные познания я решил перевести небольшую статью Git for the lazy

Я немного сокращу оригинальный текст, как этого, несомненно, требует ленивый перевод статьи для ленивых. Про инсталляцию совсем не интересно, потому как установка git не представляет никакого труда, потому приступлю сразу к делу.

Создание проекта

Перейдите в папку с вашим проектом и создайте в ней репозиторий git

git init

добавьте в него ваши файлы

git add .

и зафиксируйте изменения с помощью флага -m можно сразу указать "commit message"

git commit -m"commit message"

Работа с git

Работа с git, как правило проходит по следующему сценарию:

1. После работы над проектом вы можете посмотреть список измененных файлов

git status

2. посмотреть сделанные изменения

git diff

3. добавить любые файлы и папки из списка, полученного с помощью команды статус

git add file1 newfile1 newfolder1

4. зафиксировать сделанные изменения

git commit

Работа с ранее сохрененными версиями

Посмотреть список всех версий в репозитории

git log

или только нескольких последних, указав желаемое количество версий

git log -3

если хочется подробностей, то добавьте пару ключей

git log -3 --stat --summary

Для просмотра текущих изменений используйте команду

git diff

Если же хочется сравнить две произвольные версии в репозитории, то сначала необходимо узнать номера ревизий, используя команду

git log --pretty=oneline

результат которой будет выглядеть примерно вот так

d20ab362cb7de8baede800293d84f79b35833171 new commands (setX, setY, ...
41225ea15b4021761d5295ff5e888cb9b35ae748 create sprite class
487ffb207491b6255a1e9801deb8553419a3dfd7 multiply key events
c674138fbe4298c9a67a1ec878facb005670148d keyboard events

теперь можно сравнить версии, используя первые цифры номеров, например вот так

git diff d20a..c674

Как исправить ошибки

Если вы не хотите сохранять сделанные изменения и желаете вернуться к последней версии в репозитории используйте команду reset с флагом --hard

git reset --hard

При необходимости отменить изменения лишь в одном файле

git checkout file.txt

При необходимости изменить комментарий к только что созданной ревизии используйте

git commit --amend

Если вы забыли что-то при последнем коммите это не сложно поравить

git reset --soft HEAD^
git add forgot.txt
git commit

Пожалуй, это все о git для ленивых. Дальше в оригинальной статье идет раздел For the not so lazy, но ее я выложу чуть позже. Конечно же из-за лени.

Читайте в блоге

PHP. Преобразование таблицы в картинку. Создание информеров.
Замена с помощью регулярных выражений. Модификатор e
Программная авторизация в PHPBB

Метки: git

Комментарии:

Владимир Рыбаков @ 28.02.2012 23:13

В догонку.

Частенько файлы в проекте удаляются не средствами git, а с помощью какого-нибудь файлового менеджера. Для того чтобы удаление файлов было зафиксировано в следующей ревизии необходимо использовать команду

git add -u

Войдите на сайт, чтобы оставить комментарий