text
This commit is contained in:
		@@ -45,13 +45,13 @@ sudo apt-get install git
 | 
				
			|||||||
Файлы в рабочем каталоге могут отслеживаться системой контроля версий
 | 
					Файлы в рабочем каталоге могут отслеживаться системой контроля версий
 | 
				
			||||||
(tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме
 | 
					(tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме
 | 
				
			||||||
обозначены зелёным фоном, могут быть неизменёнными (unmodified),
 | 
					обозначены зелёным фоном, могут быть неизменёнными (unmodified),
 | 
				
			||||||
изменёнными (modified) или подготовленными к фиксации (staged).
 | 
					изменёнными (modified) или подготовленными к фиксации (indexed).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```plantuml
 | 
					```plantuml
 | 
				
			||||||
@startuml
 | 
					@startuml
 | 
				
			||||||
participant untracked as "Неотслеживамые\n(untracked)"
 | 
					participant untracked as "Неотслеживамые\n(untracked)"
 | 
				
			||||||
box "Отслеживаемые"
 | 
					box "Отслеживаемые"
 | 
				
			||||||
participant staged as "Подготовленные к фиксации\n(staged)" #55FF55
 | 
					participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55
 | 
				
			||||||
participant unmodified as "Неизменённые\n(unmodified)" #99FF99
 | 
					participant unmodified as "Неизменённые\n(unmodified)" #99FF99
 | 
				
			||||||
participant modified as "Изменённые\n(modified)" #77FF77
 | 
					participant modified as "Изменённые\n(modified)" #77FF77
 | 
				
			||||||
end box
 | 
					end box
 | 
				
			||||||
@@ -174,6 +174,7 @@ git rm <path/to/submodule>
 | 
				
			|||||||
* Обращение к удалённому репозиторию осуществляется по ссылке, создаваемой командой `git remote`
 | 
					* Обращение к удалённому репозиторию осуществляется по ссылке, создаваемой командой `git remote`
 | 
				
			||||||
* Команда `git clone` автоматически создаёт ссылку `origin`
 | 
					* Команда `git clone` автоматически создаёт ссылку `origin`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Отправка изменений
 | 
					## Отправка изменений
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Команда | Ключи | Описание |
 | 
					| Команда | Ключи | Описание |
 | 
				
			||||||
@@ -188,118 +189,33 @@ git rm <path/to/submodule>
 | 
				
			|||||||
| Команда | Ключи | Описание |
 | 
					| Команда | Ключи | Описание |
 | 
				
			||||||
| ---- | ---- | ------------ |
 | 
					| ---- | ---- | ------------ |
 | 
				
			||||||
| `git fetch`     | `<remote>`     | Получить изменения из всех веток репозитория `<remote>`, но не выполнять слияние |
 | 
					| `git fetch`     | `<remote>`     | Получить изменения из всех веток репозитория `<remote>`, но не выполнять слияние |
 | 
				
			||||||
| `git fetch`     | `<remote> <branch>`     | Fetch specific branch |
 | 
					| `git fetch`     | `<remote> <branch>`     | Получить изменения из ветки `<branch>` репозитория `<remote>`, но не выполнять слияние |
 | 
				
			||||||
| `git merge`     | `<remote>/<branch>`     | Merge fetched remote |
 | 
					| `git merge`     | `<remote>/<branch>`     | Выполнить слияние с веткой  `<branch>` репозитория `<remote>` |
 | 
				
			||||||
| `git pull`      | `<remote>`     | Fetch and merge in one command |
 | 
					| `git pull`      | `<remote>`     | Получение и слияние |
 | 
				
			||||||
 | 
					 | 
				
			||||||
Reference: https://git-scm.com/docs/git-fetch, https://git-scm.com/docs/git-pull
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## $branch
 | 
					## Ветки
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Команда | Ключи | Описание |
 | 
					| Команда | Ключи | Описание |
 | 
				
			||||||
|---------|-------|----------|
 | 
					| ---- | ---- | ------------ |
 | 
				
			||||||
| `git branch`        |                   | List branches |
 | 
					| `git branch`        |                   | Список локальных веток |
 | 
				
			||||||
| `git branch`        | `<branchname>`    | Create new branch |
 | 
					| `git branch`        | `-a`              | Список локальных и удалённых веток |
 | 
				
			||||||
| `git checkout`      | `<sha-1>`         | Switch to branch, or commit |
 | 
					| `git branch`        | `<branch>`        | Создать ветку `<branch>` |
 | 
				
			||||||
| `git branch`        | `-m <branchname> <newname>` | Rename branch |
 | 
					| `git checkout`      | `<sha-1>`         | Перейти к фиксации с идентификатором `<sha-1>` |
 | 
				
			||||||
| `git merge`         | `<branchname>`    | Merge changes from `<branchname>` to current branch |
 | 
					| `git branch`        | `-m <old> <new>`  | Переименовать ветку `<old>` в `<new>` |
 | 
				
			||||||
| `git branch`        | `-d <branchname>` | `--delete` branch |
 | 
					| `git merge`         | `<branch>`        | Слить изменения из ветки `<branch>` в текущую ветку |
 | 
				
			||||||
 | 
					| `git branch`        | `-d <branch>`     | Удалить ветку `<branch>` |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reference: https://git-scm.com/docs/git-branch
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## $diff
 | 
					## Сравнение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Команда | Ключи | Описание |
 | 
					| Команда | Ключи | Описание |
 | 
				
			||||||
|---------|-------|----------|
 | 
					| ---- | ---- | ------------ |
 | 
				
			||||||
| `git diff`  |             | Compare **`working directory`** and **`index`** |
 | 
					| `git diff`  |             | Сравнить рабочий каталог и индекс |
 | 
				
			||||||
|             | `–-cached`  | Compare **`index`** and **`latest commit`** |
 | 
					| `git diff`  | `–-cached`  | Сравнить индекс и последнюю фиксацию |
 | 
				
			||||||
|             | `HEAD`      | Compare **`latest commit`** and **`working directory`** |
 | 
					| `git diff`  | `HEAD`      | Сравнить последнюю фиксацию и рабочий каталог |
 | 
				
			||||||
|             | `--stat`    | Optional short format |
 | 
					| `git diff`  | `--stat`    | Краткий вывод результатов |
 | 
				
			||||||
|             | `<sha-1> <sha-1>` | 2 points in time to compare |
 | 
					| `git diff`  | `<sha-1> <sha-1>` | Сравнить две точки с указанными индетификаторами |
 | 
				
			||||||
|             | `<dir> | <file>` | Compare whole directory or limit to file |
 | 
					| `git diff`  | `<dir> | <file>` | Сравнивать только укзанный каталог `<dir>` или файл `<file>` |
 | 
				
			||||||
 | 
					| `git difftool` |     | Отобразить результаты сравнения в программе, определяемой переменной `diff.tool` |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reference: https://git-scm.com/docs/git-diff
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Examples:**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```shell
 | 
					 | 
				
			||||||
## compare changes made to README.md between working tree (default) and latest commit (HEAD)
 | 
					 | 
				
			||||||
$ git diff --stat HEAD ./path/README.md
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## compare changes made to README.md between 2 specific points in time (e.g. 2 commits)
 | 
					 | 
				
			||||||
$ git diff --stat a649900 24bdd58 ./path/README.md
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## $tag
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| Команда | Ключи | Описание |
 | 
					 | 
				
			||||||
|---------|-------|----------|
 | 
					 | 
				
			||||||
| `git tag`           |                   | List tags |
 | 
					 | 
				
			||||||
| `git tag`           | `<v1.0.0>`        | Create tag, from latest commit, lightweight |
 | 
					 | 
				
			||||||
| `git tag`           | `-a <v1.0.0> -m "<msg>"` | Create tag, with `--annotate`, from latest commit |
 | 
					 | 
				
			||||||
| `git tag`           | `-a <v1.0.0> -m "<msg>" <SHA-1>` | Create tag, with `--annotate`, from specific commit |
 | 
					 | 
				
			||||||
| `git tag`           | `-d  <v1.1.0>`    | `--delete` tag |
 | 
					 | 
				
			||||||
| `git show`          | `<v1.0.0>`        | Show tag data and message |
 | 
					 | 
				
			||||||
| `git checkout`      | `<v1.0.0>`        | Switch to specific point tag (not editable) |
 | 
					 | 
				
			||||||
| `git push`          | `<remote> <tag>`  | Push specific tag to `<remote>` (recommended) |
 | 
					 | 
				
			||||||
| `git push`          | `<remote> --tags` | Push all tags to `<remote>` (only if necessary) |
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Инициализация репозитория в каталоге `dir`:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git init dir
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Клонирование репозитория `repo`, принадлежащего пользователю `user`,
 | 
					 | 
				
			||||||
с сервера `gitlab.2` в каталог `dir`:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git clone git@gitlab.2:user/repo.git dir
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Просмотр состояния рабочего каталога и репозитория:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git status
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Краткая форма вывода состояния:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git status -s
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Добавление файла `README.md` под версионный контроль и подготовка
 | 
					 | 
				
			||||||
к фиксации:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git add README.md
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Удаление файла `README.md` из индекса репозитория:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git rm --cached README.md
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Зафиксировать файлы, подготовленные к фиксации:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git commit
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Зафиксировать все отслеживаемые файлы, которые были изменены:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git commit -a
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Отправить все ветки репозитория на сервер с меткой `origin`:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
git push origin
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user