короткий справочник по git командам


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

*Основы*


Настройка Git клиента для идентификации пользователя:

git config –global user.name «Your Name»

git config –global user.email «your@email.address»

git config –global core.editor «your editor»

Инициализация репозитория в текущем каталоге:

git init

Создает репозиторий в указанном каталоге:

git init <directory>

Клонирование репозитория на локальную машину:

git clone <repo>

Добавить файл для идексации и следить за всеми изменениями в нем ( можно задавать по маске ):

git add <file>

Добавить каталог для индексации:

git add <directory>

Удалить файл из индексации ( можно задавать по маске ):

git rm <file>

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

git mv <source> <destination>

Сделать «снапшот» всех выполненных изменений:

git commit -a -m «message»

Статус репозитория ( добавление, удаление, изменение файлов ):

git status

Показать историю коммитов:

git log

Показать только определенное количество коммитов:

git log -n <limit>

Показать историю коммитов по конкретному файлу:

git log <file>

Посмотреть различия между последним коммитом и текущими изменениями:

git diff

Просмотр всех различий между коммитами:

git diff <commit> <commit>

Посмотреть различия между коммитом и текущими изменениями:

git diff <commit> <file>

Посмотреть различия между коммитами для файла:

git diff <commit> <commit> <file>

Показать список всех файлов в основной ветке:

git ls-tree master -r –name-only

*Работа с ветками*


Список веток:

git branch

Создание ветки:

git branch <new_branch_name>

Безопастное удаление ветки, если не были сделаны изменения:

git branch -d <branch_name>

Удаление ветки, даже если были сделаны изменения:

git branch -D <branch_name>

Переименование текущей ветки:

git branch -m <rename_current_branch>

Переход к существующей ветке:

git checkout <branch_name>

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

git checkout -b <new_branch_name>

Слияние текущей ветки с указанной:

git merge <branch>

*Откат изменений*


Перейти на последний коммит ветки «master»:

git checkout master

Откатить изменения во всех файлах до указанного коммита:

git checkout <commit>

Откатить изменения для конкретного файла до указанного коммита:

git checkout <commit> <file>

Сделать откат всех изменений выполненных в коммите, при этом создается новый коммит указывающий на откат изменений:

git revert <commit>

Отмена изменений до последнего коммита, а также сбрасывает индексацию для конкретного файла:

git reset HEAD <file>

Отмена изменений до последнего коммита и сбрасывает индексацию:

git reset –soft

Отмена изменений до последнего коммита, сбрасывает индексацию, а так же отменить любые изменения в рабочей директории:

git reset –hard

programming Удаляет файлы которые не были добавлены в репозиторий:

git clean -f

Удаляет файлы которые не были добавлены в репозиторий по указанному пути:

git clean -f <path>

Удаляет файлы и каталоги которые не были добавлены в репозиторий:

git clean -df

Только показывает, что будет удаленно:

git clean -n

*Работа с удаленными репозиториями*


Список соединений с удаленными репозиториями:

git remote

Добавить соединение:

git remote add <name> <url>

Удалить соединение:

git remote rm <name>

Переименовать соединение:

git remote rename <old_name> <new_name>

Получить изменения из репозитория со списком всех веток ( при этом стираются любые локальные изменения ):

git fetch <remote>

Получить изменения из репозитория для конкретной ветки ( при этом стираются любые локальные изменения ):

git fetch <remote> <branch>

Получить копию текущей ветки с удаленного репозитория и слить ее с локальной копией:

git pull <remote>

Залить указанную ветку на удаленный репозиторий:

git push <remote> <branch>

И напоследок несколько ссылок где можно найти более подробное руководство по git:

Git How To

Pro Git

Git Reference

Atlassian Git Tutorials

comments powered by Disqus