Git: команды

Собрал в одном месте git команды на каждый день, мини справочник, который всегда под рукой.

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

Для тех, кто только начал работу с Git советую прочитать на сайте статью под названием Отправка первого локального проекта на GitHub.

Инициализация нового git-репозитория:

git init

Отобразить статус git-репозитория и рабочего каталога:

git status

Добавить в индекс все измененные файлы:

git add .

Добавить в индекс изменения:

git add <filename>

Удалить файл с внесением в индекс:

git rm <filename>

Переименование файла/перенос в другую директорию с внесением в индекс:

git mv <filename>

Зафиксировать изменения в репозитории, находящиеся в индексе:

git commit -m "<message>"

Комбо:

git commit -a -m "<message>" = git add . + git commit -m "<message>"

История коммитов:

git log

Переход к старому состоянию проекта:

git checkout <hash>

Переход к старому состоянию проекта и удалению последующих фиксаций (параметр --hard указывает, что рабочий каталог должен быть обновлен в соответствии с новым head ветки):

git reset --hard <hash>

Клонирование проекта из удаленного репозитория

git clone <откуда> <куда>

Примеры git clone:

git clone ssh://dmn@192.168.1.100:22/var/www/superproject/htdocs/.git superproject
git clone /home/username/project myrepo
git clone http://user@somehost:port/~user/repository/project.git
git clone --bare hello hello.git

Последний пример создает т.н. “чистый” репозиторий. “Чистые” репозитории не хранят рабочие каталоги и обычно используются для расшаривания.

Обычный git-репозиторий подразумевает, что вы будете использовать его как рабочую директорию, поэтому вместе с файлами проекта в актуальной версии, git хранит все служебные, “чисто”-репозиториевские файлы в поддиректории .git.

В удаленных репозиториях нет смысла хранить рабочие файлы на диске (как это делается в рабочих копиях), а все что им действительно нужно — это дельты изменений и другие бинарные данные репозитория. Вот это и есть «чистый” репозиторий.

Получение изменений из удаленного репозитория и их слияние с локальным:

git pull

Внесение локальных изменений на удаленный:

git push

Просмотр веток:

git branch

Добавление ветки:

git branch <имя_ветки>

Удаление ветки:

git branch <имя_ветки> -d

Переход между ветками:

git checkout <имя_ветки>

Слияние двух веток:

git merge <имя_ветки>

Дополнительные материалы:

Интерактивный учебник по git

Большая книга по git

Дмитрий Иванов

/ 5 июля в 22:36 / Посты,

Создаю веб-проекты, придумываю идеи, занимаюсь разработкой, оптимизирую и продвигаю сайты. Первые шаги в этом направлении сделал в 2008 году.

Наверх ↑

Leave a Reply

Your email address will not be published. Required fields are marked *

Вы можете использовать HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>