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
|
||
```
|
||
|