This commit is contained in:
Andrei Astafev 2019-05-28 15:57:56 +03:00
parent 0003a98c30
commit f8a740a624

View File

@ -28,16 +28,16 @@ sudo apt-get install git
## Термины ## Термины
| Термин | Англ | Определение | | Термин | Англ | Определение |
| ------ | ------ | ----------------------- | | ------ | ------ | ----------------------- |
| Рабочий каталог | working tree, working directory | Набор файлов в текущем каталоге | | Рабочий каталог | working tree, working directory | Набор файлов в текущем каталоге |
| Репозиторий | repository, repo | Контейнер, хранящий историю изменений файлов проекта | | Репозиторий | repository, repo | Контейнер, хранящий историю изменений файлов проекта |
| Индекс | index, staging area | Область между рабочим каталогом и репозиторием, в которой осуществляется подготовка к фиксации | | Индекс | index, staging area | Область между рабочим каталогом и репозиторием, в которой осуществляется подготовка к фиксации |
| SHA-1 | SHA-1 | Уникальный идентификатор, отражающий информацию об истории | | SHA-1 | SHA-1 | Уникальный идентификатор, отражающий информацию об истории |
| Ветка | branch | Именованная последовательность в истории изменений | | Ветка | branch | Именованная последовательность в истории изменений |
| Фиксация (коммит) | commit | Набор файлов, записанных в историю одновременно | | Фиксация (коммит) | commit | Набор файлов, записанных в историю одновременно |
| `HEAD` | `HEAD` | Имя ссылки на последнюю фиксацию в текущей ветке | | `HEAD` | `HEAD` | Имя ссылки на последнюю фиксацию в текущей ветке |
| Метка | tag | Именованная ссылка на некоторую фиксацию в истории | | Метка | tag | Именованная ссылка на некоторую фиксацию в истории |
## Состояния ## Состояния
@ -101,20 +101,20 @@ index -[#blue]> workspace : git diff
## Настройка ## Настройка
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---------- | ------------ | | ---- | ---------- | ------------ |
| `git config` | `--global user.name "John Doe"` | Имя текущего пользователя | | `git config` | `--global user.name "John Doe"` | Имя текущего пользователя |
| `git config` | `--global user.email "mail@example.com"` | Почта текущего пользователя | | `git config` | `--global user.email "mail@example.com"` | Почта текущего пользователя |
| `git config` | `--list` | Вывод текущей конфигурации | | `git config` | `--list` | Вывод текущей конфигурации |
| `git config` | `--global --list` | Вывод глобальной конфигурации | | `git config` | `--global --list` | Вывод глобальной конфигурации |
## Инициализация ## Инициализация
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ------ | ------------ | | ---- | ------ | ------------ |
| `git init` | `<dir>` | Создать пустой репозиторий в каталоге `<dir>` | | `git init` | `<dir>` | Создать пустой репозиторий в каталоге `<dir>` |
| `git clone` | `<giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>` | | `git clone` | `<giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>` |
| `git clone` | `--recursive <giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>`, с учётом подмодулей | | `git clone` | `--recursive <giturl>` `<dir>` | Создать в каталоге `<dir>` копию репозитория, находящегося по адресу `<giturl>`, с учётом подмодулей |
@ -122,9 +122,9 @@ index -[#blue]> workspace : git diff
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ------ | ------------ | | ---- | ------ | ------------ |
| `git submodule` | `add <giturl> <dir>` | Добавить в каталог `<dir>` текущего рапозитория подмодуль, находящийся по адресу `<giturl>` | | `git submodule` | `add <giturl> <dir>` | Добавить в каталог `<dir>` текущего рапозитория подмодуль, находящийся по адресу `<giturl>` |
| `git submodule` | `update --recursive --remote` | Обновить подмодули | | `git submodule` | `update --recursive --remote` | Обновить подмодули |
| `git submodule` | `sync --recursive` | Заменить адреса подмодулей на указанные в файле `.gitmodules` | | `git submodule` | `sync --recursive` | Заменить адреса подмодулей на указанные в файле `.gitmodules` |
Удаление подмодуля: Удаление подмодуля:
@ -138,38 +138,38 @@ git rm <path/to/submodule>
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации | | `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации |
| `git commit` | | Зафиксировать подготовленные файлы | | `git commit` | | Зафиксировать подготовленные файлы |
| `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены | | `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены |
## Удаление ## Удаление
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git rm` | `<filename>` | Удалить файл из индекса и рабочего каталога | | `git rm` | `<filename>` | Удалить файл из индекса и рабочего каталога |
| `git rm` | `-f <filename>` | Принудительное удаление файла | | `git rm` | `-f <filename>` | Принудительное удаление файла |
| `git rm` | `--cached <filename>` | Удаление файла из проекта, но не из рабочего каталога | | `git rm` | `--cached <filename>` | Удаление файла из проекта, но не из рабочего каталога |
## Информация ## Информация
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git status` | `-s` | Вывод информации о рабочем каталоге в краткой форме | | `git status` | `-s` | Вывод информации о рабочем каталоге в краткой форме |
| `git log` | `--oneline` | Вывод журнала изменений в краткой форме | | `git log` | `--oneline` | Вывод журнала изменений в краткой форме |
| `git ls-files` | | Вывод списка отслеживаемых и подготовленных файлов | | `git ls-files` | | Вывод списка отслеживаемых и подготовленных файлов |
## Удалённый репозиторий ## Удалённый репозиторий
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git remote` | `-v` | Список адресов удалённых репозиториев | | `git remote` | `-v` | Список адресов удалённых репозиториев |
| `git branch` | `-r` | Список веток в удалённых репозиториях | | `git branch` | `-r` | Список веток в удалённых репозиториях |
| `git remote` | `add <name> <url>` | Создать ссылку `<name>` на удалённый репозиторий, находящийся по адресу `<url>` | | `git remote` | `add <name> <url>` | Создать ссылку `<name>` на удалённый репозиторий, находящийся по адресу `<url>` |
| `git remote` | `rename <old> <new>` | Переименовать ссылку `<old>` на `<new>` | | `git remote` | `rename <old> <new>` | Переименовать ссылку `<old>` на `<new>` |
| `git remote` | `rm <name>` | Удалить ссылку `<name>` | | `git remote` | `rm <name>` | Удалить ссылку `<name>` |
* Обращение к удалённому репозиторию осуществляется по ссылке, создаваемой командой `git remote` * Обращение к удалённому репозиторию осуществляется по ссылке, создаваемой командой `git remote`
* Команда `git clone` автоматически создаёт ссылку `origin` * Команда `git clone` автоматически создаёт ссылку `origin`
@ -179,43 +179,43 @@ git rm <path/to/submodule>
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git push` | `<remote> <branch>` | Отправить ветку `<branch>` в удалённый репозиторий `<remote>` | | `git push` | `<remote> <branch>` | Отправить ветку `<branch>` в удалённый репозиторий `<remote>` |
| `git push` | `<remote> --all` | Отправить все ветки в удалённый репозиторий `<remote>` | | `git push` | `<remote> --all` | Отправить все ветки в удалённый репозиторий `<remote>` |
| `git push` | `--d <remote> <branch>` | Удалить ветку `<branch>` из удалённого репозитория `<remote>` | | `git push` | `--d <remote> <branch>` | Удалить ветку `<branch>` из удалённого репозитория `<remote>` |
## Получение изменений ## Получение изменений
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git fetch` | `<remote>` | Получить изменения из всех веток репозитория `<remote>`, но не выполнять слияние | | `git fetch` | `<remote>` | Получить изменения из всех веток репозитория `<remote>`, но не выполнять слияние |
| `git fetch` | `<remote> <branch>` | Получить изменения из ветки `<branch>` репозитория `<remote>`, но не выполнять слияние | | `git fetch` | `<remote> <branch>` | Получить изменения из ветки `<branch>` репозитория `<remote>`, но не выполнять слияние |
| `git merge` | `<remote>/<branch>` | Выполнить слияние с веткой `<branch>` репозитория `<remote>` | | `git merge` | `<remote>/<branch>` | Выполнить слияние с веткой `<branch>` репозитория `<remote>` |
| `git pull` | `<remote>` | Получение и слияние | | `git pull` | `<remote>` | Получение и слияние |
## Ветки ## Ветки
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git branch` | | Список локальных веток | | `git branch` | `-a` | Список локальных и удалённых веток |
| `git branch` | `-a` | Список локальных и удалённых веток | | `git branch` | | Список локальных веток |
| `git branch` | `<branch>` | Создать ветку `<branch>` | | `git branch` | `<branch>` | Создать ветку `<branch>` |
| `git checkout` | `<sha-1>` | Перейти к фиксации с идентификатором `<sha-1>` | | `git checkout` | `<sha-1>` | Перейти к фиксации с идентификатором `<sha-1>` |
| `git branch` | `-m <old> <new>` | Переименовать ветку `<old>` в `<new>` | | `git branch` | `-m <old> <new>` | Переименовать ветку `<old>` в `<new>` |
| `git merge` | `<branch>` | Слить изменения из ветки `<branch>` в текущую ветку | | `git merge` | `<branch>` | Слить изменения из ветки `<branch>` в текущую ветку |
| `git branch` | `-d <branch>` | Удалить ветку `<branch>` | | `git branch` | `-d <branch>` | Удалить ветку `<branch>` |
## Сравнение ## Сравнение
| Команда | Ключи | Описание | | Команда | Ключи | Описание |
| ---- | ---- | ------------ | | ---- | ---- | ------------ |
| `git diff` | | Сравнить рабочий каталог и индекс | | `git diff` | | Сравнить рабочий каталог и индекс |
| `git diff` | `-cached` | Сравнить индекс и последнюю фиксацию | | `git diff` | `-cached` | Сравнить индекс и последнюю фиксацию |
| `git diff` | `HEAD` | Сравнить последнюю фиксацию и рабочий каталог | | `git diff` | `HEAD` | Сравнить последнюю фиксацию и рабочий каталог |
| `git diff` | `--stat` | Краткий вывод результатов | | `git diff` | `--stat` | Краткий вывод результатов |
| `git diff` | `<sha-1> <sha-1>` | Сравнить две точки с указанными индетификаторами | | `git diff` | `<sha-1> <sha-1>` | Сравнить две точки с указанными индетификаторами |
| `git diff` | `<dir> | <file>` | Сравнивать только укзанный каталог `<dir>` или файл `<file>` | | `git diff` | `<dir> | <file>` | Сравнивать только укзанный каталог `<dir>` или файл `<file>` |
| `git difftool` | | Отобразить результаты сравнения в программе, определяемой переменной `diff.tool` | | `git difftool` | | Отобразить результаты сравнения в программе, определяемой переменной `diff.tool` |