Шпаргалка по командам git



















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


git init

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


git status

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


git add <filename>

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


git add .

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


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 ssh://[email protected]: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

1683   15  

Comments

  1. nZkkAbWB
    nZkkAbWB год назад
    1
  2. nZkkAbWB
    nZkkAbWB год назад
    1
  3. nZkkAbWB
    nZkkAbWB год назад
    1
  4. nZkkAbWB
    nZkkAbWB год назад
    1
  5. nZkkAbWB
    nZkkAbWB год назад
    1
  6. nZkkAbWB
    nZkkAbWB год назад
    1
  7. nZkkAbWB
    nZkkAbWB год назад
    1
  8. nZkkAbWB'"
    nZkkAbWB'" год назад
    1
  9. nZkkAbWB????%2527%2522\'\"
    nZkkAbWB????%2527%2522\'\" год назад
    1
  10. @@exyj8
    @@exyj8 год назад
    1
  11. nZkkAbWB
    nZkkAbWB год назад
    1
  12. nZkkAbWB
    nZkkAbWB год назад
    1'"
  13. nZkkAbWB
    nZkkAbWB год назад
    1%2527%2522\'\"
  14. nZkkAbWB
    nZkkAbWB год назад
    @@Poukq
  15. nZkkAbWB
    nZkkAbWB год назад
    1