Это старая версия документа!
# Основные моменты для начала работы с Git
## Установка
Скачивать отсюда и далее следовать указаниям `http://git-scm.com/download/linux`
где установлен: `> wich git`
версия `> git --version`
## Настройка
Расположение конфиг.файлов:
* system: `/etc/gitconfig` * user: `~/.gitconfig` * project: `my_project/.git/config`
Команды настройки:
```
git config --system // ← настройка системных конфигов
git config --global // ← пользовательских конфигов
git config // ← конфигов проекта
```
Основные настройки:
```
git config --global user.name «Имя_Пользователя»
git config --global user.email «example@mail.com»
```
Просмотр настроек:
`> git config --list` - список установленных настроек `> git config user.name` - вернет настройки для имени пользователя
ещё полезные настройки:
`> git config --global core.editor «редактор»` - настройка редактора по-умолчанию `> git config --global color.ui true` - настройка вывода командной строки git в цвете
## Настройка автозаполнения в git:
### Скачиваем:
```
```
### Переименовываем скаченный файл:
```
mv ~/git-completion.bash ~/.git-completion.bash
```
### 3.3 добавить код в файл:
в один из следующих файлов `~/.bash_profile` или `~/.bashrc` (лучше в первый) добавить такой код:
``` if [ -f ~/.git-completion.bash ] then
source ~/.git-completion.bash
fi ```
## 4.Инициализация git для проекта
1. Переходим в корневую папку проекта 2. Выполняем команду: `> git init`
## 5.Добавление изменений в проект (commit)
```
git add .
git commit -m «комментарий_к_коммиту»
```
Советы по комментариям к коммитам:
* меньше 50 символов * меньше 72 строк * писать в настоящем времени (не в прошедшем) * использовать звездочки-булеты для списков (или дефисы) * можно добавлять «короткие заголовки» в начале сообщения, типа:
- «[css, js]» - указывает с чем работали
- «bugfix» - указывает на исправление бага
- «#38312» - указывает ярлык поддерживающего запроса
* использовать чёткие описательные сообщения
## 6.Просмотр логов коммита
`> git log` - выводит информацию об изменениях в виде:
``` commit id_commit`a author имя автора комментария, е-майл автора комментария date дата когда был сделан коммит
сообщение комментария ```
опции логов:
`> git log -n 5 ` - устанавливает число показываемых коммитов (покажет 5 коммитов)
`> git log --sinee=2020-05-30` - покажет логи начиная с указанной даты `> git log --until=2020-05-30` - покажет логи до указанной даты `> git log --until=2020-07-01 --sinee=2020-05-30` - покажет логи с 30.05.20 по 01.07.20
`> git log --author=«имя»` - покажет комменты автора с соответствующим именем
`> git log --grep=«foobar»` - покажет логи в тексте которых есть слово foobar
## 7.Добавление файлов в репозиторий
сначала: `> git status` - показывает различие между рабочей директорией, буфером и репозиторием
затем: `> git add имя_файла` - добавление файла в отслеживаемые git-ом или `> git add .` - добавление всех файлов на отслеживание на предмет изменен
## 8.Передача файлов в репозиторий
`> git push` - отошлет файлы подготовленные в коммите в репозиторий
## 9.Просмотр изменений сделанных в файле
`> git diff` - сравнивает файлы в репозитории и в рабочем каталоге и показывает изменения: что было изменено и в каких строках файла `> git diff имя_файла` - покажет изменения для конкретного файла
### 9.1.Просмотр изменений находящихся в буфере
`> git diff --staget` - сравнивает буфер и репозиторий
## 10.Удаление файлов и отслеживание удалений при помощи git
### 10.1.Вариант 1
* шаг 1 - удалить файл из рабочей директории через «корзину» * шаг 2 - выполнить: `> git rm имя_удаляемого_файла` * шаг 3 - выполнить: `> git commit -m «Удаление файла имя_удаляемого_файла»`
### 10.2.Вариант 2
* шаг 1 - выполнить: `> git rm имя_удаляемого_файла` * шаг 2 - выполнить: `> git commit -m «Удаление файла имя_удаляемого_файла»`
