Compare commits
2 Commits
0bc4923a7b
...
f8a740a624
Author | SHA1 | Date | |
---|---|---|---|
f8a740a624 | |||
0003a98c30 |
@ -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
|
||||||
@ -138,7 +138,7 @@ git rm <path/to/submodule>
|
|||||||
|
|
||||||
| Команда | Ключи | Описание |
|
| Команда | Ключи | Описание |
|
||||||
| ---- | ---- | ------------ |
|
| ---- | ---- | ------------ |
|
||||||
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации |
|
| `git add` | `<filename>` | Подготовить файл `<filename>` к фиксации |
|
||||||
| `git commit` | | Зафиксировать подготовленные файлы |
|
| `git commit` | | Зафиксировать подготовленные файлы |
|
||||||
| `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены |
|
| `git commit` | `-a` | Зафиксировать все отслеживаемые файлы, которые были изменены |
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ git rm <path/to/submodule>
|
|||||||
|
|
||||||
| Команда | Ключи | Описание |
|
| Команда | Ключи | Описание |
|
||||||
| ---- | ---- | ------------ |
|
| ---- | ---- | ------------ |
|
||||||
| `git status` | `-s` | Вывод информации о рабочем каталоге в краткой форме |
|
| `git status` | `-s` | Вывод информации о рабочем каталоге в краткой форме |
|
||||||
| `git log` | `--oneline` | Вывод журнала изменений в краткой форме |
|
| `git log` | `--oneline` | Вывод журнала изменений в краткой форме |
|
||||||
| `git ls-files` | | Вывод списка отслеживаемых и подготовленных файлов |
|
| `git ls-files` | | Вывод списка отслеживаемых и подготовленных файлов |
|
||||||
|
|
||||||
@ -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` | `-a` | Список локальных и удалённых веток |
|
||||||
| `git branch` | `<branchname>` | Create new branch |
|
| `git branch` | | Список локальных веток |
|
||||||
| `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
|
|
||||||
```
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user