96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
|
---
|
|||
|
title: "Git: основные команды"
|
|||
|
category: Программирование
|
|||
|
tags: программирование, git
|
|||
|
summary:
|
|||
|
monofontoptions:
|
|||
|
- Scale=0.8
|
|||
|
...
|
|||
|
|
|||
|
|
|||
|
Установка git:
|
|||
|
|
|||
|
```sh
|
|||
|
sudo apt-get install git
|
|||
|
```
|
|||
|
|
|||
|
Инициализация репозитория в каталоге `dir`:
|
|||
|
|
|||
|
```sh
|
|||
|
git init dir
|
|||
|
```
|
|||
|
|
|||
|
Клонирование репозитория `repo`, принадлежащего пользователю `user`,
|
|||
|
с сервера `gitlab.2` в каталог `dir`:
|
|||
|
|
|||
|
```sh
|
|||
|
git clone git@gitlab.2:user/repo.git dir
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
Файлы в рабочем каталоге могут отслеживаться системой контроля версий
|
|||
|
(tracked) или нет (untracked). Отслеживаемые файлы, которые на диаграмме
|
|||
|
обозначены зелёным фоном, могут быть неизменёнными (unmodified),
|
|||
|
изменёнными (modified) или подготовленными к фиксации (staged).
|
|||
|
|
|||
|
```plantuml
|
|||
|
@startuml
|
|||
|
participant untracked as "Неотслеживамые\n(untracked)"
|
|||
|
participant unmodified as "Неизменённые\n(unmodified)" #99FF99
|
|||
|
participant modified as "Изменённые\n(modified)" #77FF77
|
|||
|
participant staged as "Подготовленные к фиксации\n(staged)" #55FF55
|
|||
|
|
|||
|
untracked -> staged : git add
|
|||
|
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
|
|||
|
```
|
|||
|
|
|||
|
Просмотр состояния рабочего каталога и репозитория:
|
|||
|
|
|||
|
```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
|
|||
|
```
|
|||
|
|