This commit is contained in:
Andrei Astafev 2019-05-27 17:46:54 +03:00
parent 25d7d9850c
commit 71dd5de667

View File

@ -30,8 +30,9 @@ sudo apt-get install git
| Термин | Англ | Определение |
| ------ | ------ | ----------------------- |
| Рабочий каталог | working directory | Набор файлов в текущем каталоге |
| Индекс | index, staging area | Область с файлами, подготовленными для фиксации |
| Рабочий каталог | working tree, working directory | Набор файлов в текущем каталоге |
| Репозиторий | repository, repo | Контейнер, хранящий историю изменений файлов проекта |
| Индекс | index, staging area | Область между рабочим каталогом и репозиторием, в которой осуществляется подготовка к фиксации |
| SHA-1 | SHA-1 | Уникальный идентификатор, отражающий информацию об истории |
| Ветка | branch | Именованная последовательность в истории изменений |
| Фиксация (коммит) | commit | Набор файлов, записанных в историю одновременно |
@ -49,20 +50,54 @@ sudo apt-get install git
```plantuml
@startuml
participant untracked as "Неотслеживамые\n(untracked)"
box "Отслеживаемые"
participant staged as "Подготовленные к фиксации\n(staged)" #55FF55
participant unmodified as "Неизменённые\n(unmodified)" #99FF99
participant modified as "Изменённые\n(modified)" #77FF77
participant staged as "Подготовленные к фиксации\n(staged)" #55FF55
end box
untracked -> staged : git add
staged -> unmodified : git commit
unmodified -> modified : редактирование
modified -> staged : git add
staged -> unmodified : git commit
modified -> untracked: git rm --cached
unmodified -> untracked: git rm --cached
staged -> untracked: git rm --cached
@enduml
```
Основные команды, осуществляющие взаимодействие между рабочим каталогом,
индексом, локальным и удалённым репозиторием, приведены на диаграмме ниже.
```plantuml
@startuml
participant workspace as "Рабочий каталог\n(working dir)"
participant index as "Индекс\n(index)" #77FF77
participant local as "Локальный репозиторий\n(local repository)" #FF7777
participant remote as "Удалённый репозиторий\n(remote repository)" #7777FF
workspace -> local : git commit -a
workspace -> index : git add (-u)
index -> local : git commit
local -> remote : git push
== Обновление с сервера ==
remote -> workspace : git pull (rebase)
remote -> local : fetch
== Откат изменений ==
local -[#red]> workspace : git checkout HEAD
index -[#red]> workspace : git checkout
== Сравнение ==
local -[#blue]> workspace : git diff HEAD
index -[#blue]> workspace : git diff
@enduml
```
## Настройка
@ -103,12 +138,12 @@ git rm <path/to/submodule>
| Команда | Ключи | Описание |
| ---- | ------ | ------------ |
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации |
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации |
| `git commit` | | Зафиксировать подготовленные файлы |
| `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены |
| `git rm` | `<filename>` | Remove files from the working tree and from the index |
| `git rm` | `<filename>` | Удалить файл из индекса и рабочего каталога |
| `git rm` | `-f <filename>` | Force deletion of files from disk |
| `git rm` | `-r --cached <filename>` | Untrack file (without deleting) |
| `git rm` | `--cached <filename>` | Untrack file (without deleting) |
## Информация