diff --git a/wiki/Prog/Git/Git основные команды.md b/wiki/Prog/Git/Git основные команды.md index 12b7e7f..00d9cb5 100644 --- a/wiki/Prog/Git/Git основные команды.md +++ b/wiki/Prog/Git/Git основные команды.md @@ -45,13 +45,13 @@ sudo apt-get install git Файлы в рабочем каталоге могут отслеживаться системой контроля версий (tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме обозначены зелёным фоном, могут быть неизменёнными (unmodified), -изменёнными (modified) или подготовленными к фиксации (staged). +изменёнными (modified) или подготовленными к фиксации (indexed). ```plantuml @startuml participant untracked as "Неотслеживамые\n(untracked)" box "Отслеживаемые" -participant staged as "Подготовленные к фиксации\n(staged)" #55FF55 +participant staged as "Подготовленные к фиксации\n(indexed)" #55FF55 participant unmodified as "Неизменённые\n(unmodified)" #99FF99 participant modified as "Изменённые\n(modified)" #77FF77 end box @@ -174,6 +174,7 @@ git rm * Обращение к удалённому репозиторию осуществляется по ссылке, создаваемой командой `git remote` * Команда `git clone` автоматически создаёт ссылку `origin` + ## Отправка изменений | Команда | Ключи | Описание | @@ -188,118 +189,33 @@ git rm | Команда | Ключи | Описание | | ---- | ---- | ------------ | | `git fetch` | `` | Получить изменения из всех веток репозитория ``, но не выполнять слияние | -| `git fetch` | ` ` | Fetch specific branch | -| `git merge` | `/` | Merge fetched remote | -| `git pull` | `` | Fetch and merge in one command | - -Reference: https://git-scm.com/docs/git-fetch, https://git-scm.com/docs/git-pull +| `git fetch` | ` ` | Получить изменения из ветки `` репозитория ``, но не выполнять слияние | +| `git merge` | `/` | Выполнить слияние с веткой `` репозитория `` | +| `git pull` | `` | Получение и слияние | -## $branch +## Ветки | Команда | Ключи | Описание | -|---------|-------|----------| -| `git branch` | | List branches | -| `git branch` | `` | Create new branch | -| `git checkout` | `` | Switch to branch, or commit | -| `git branch` | `-m ` | Rename branch | -| `git merge` | `` | Merge changes from `` to current branch | -| `git branch` | `-d ` | `--delete` branch | +| ---- | ---- | ------------ | +| `git branch` | | Список локальных веток | +| `git branch` | `-a` | Список локальных и удалённых веток | +| `git branch` | `` | Создать ветку `` | +| `git checkout` | `` | Перейти к фиксации с идентификатором `` | +| `git branch` | `-m ` | Переименовать ветку `` в `` | +| `git merge` | `` | Слить изменения из ветки `` в текущую ветку | +| `git branch` | `-d ` | Удалить ветку `` | -Reference: https://git-scm.com/docs/git-branch -## $diff +## Сравнение | Команда | Ключи | Описание | -|---------|-------|----------| -| `git diff` | | Compare **`working directory`** and **`index`** | -| | `–-cached` | Compare **`index`** and **`latest commit`** | -| | `HEAD` | Compare **`latest commit`** and **`working directory`** | -| | `--stat` | Optional short format | -| | ` ` | 2 points in time to compare | -| | ` | ` | Compare whole directory or limit to file | +| ---- | ---- | ------------ | +| `git diff` | | Сравнить рабочий каталог и индекс | +| `git diff` | `–-cached` | Сравнить индекс и последнюю фиксацию | +| `git diff` | `HEAD` | Сравнить последнюю фиксацию и рабочий каталог | +| `git diff` | `--stat` | Краткий вывод результатов | +| `git diff` | ` ` | Сравнить две точки с указанными индетификаторами | +| `git diff` | ` | ` | Сравнивать только укзанный каталог `` или файл `` | +| `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` | `` | Create tag, from latest commit, lightweight | -| `git tag` | `-a -m ""` | Create tag, with `--annotate`, from latest commit | -| `git tag` | `-a -m "" ` | Create tag, with `--annotate`, from specific commit | -| `git tag` | `-d ` | `--delete` tag | -| `git show` | `` | Show tag data and message | -| `git checkout` | `` | Switch to specific point tag (not editable) | -| `git push` | ` ` | Push specific tag to `` (recommended) | -| `git push` | ` --tags` | Push all tags to `` (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 -```