мета-данные страницы
  •  

Это старая версия документа!


гайд по git

Представьте, что вы пишете код и внезапно понимаете, что предыдущая версия работала лучше. Или вы работаете с командой, и нужно объединить изменения нескольких человек. Git решает эти задачи, сохраняя историю всех изменений и позволяя безопасно экспериментировать с кодом.

Git хранит снимки вашего проекта в специальном хранилище, которое называется репозиторием. Каждое сохранение изменений называется коммитом, и вы всегда можете вернуться к любому из них.

Настройка

{{fixme}}

Внесение изменений

# Перечисляет все новые или изменённые файлы, которые нуждаются в фиксации
git status
 
# Показывает различия по внесённым изменениям в ещё не проиндексированных файлах
git diff
 
# Индексирует указанный файл для последующего коммита
git add <файл>
 
# Показывает различия между проиндексированной и последней зафиксированной версиями файлов
git diff --staged
 
# Отменяет индексацию указанного файла, при этом сохраняет его содержимое
git reset <файл>
 
# Фиксирует проиндексированные изменения и сохраняет их в историю версий
git commit -m "<сообщение с описанием>"

Фрагменты

Сохранение и восстановление незавершённых изменений

# Временно сохраняет все незафиксированные изменения отслеживаемых файлов
git stash
git stash push -m "имя какое тебе удобно для обозначения твоих изменения"
 
# Восстанавливает состояние ранее сохранённых версий файлов
git stash pop
git stash apply stash@{<тут номер стэша>}
 
# Выводит список всех временных сохранений
git stash list
 
# Сбрасывает последние временно сохранённыe изменения
git stash drop

Branching

ветки - это ответвления, в которых можно

# cоздание ветки
git branch имя_ветки
 
# переключение активной ветки
git checkout имя_ветки
 
# слияние веток 
git checkout master # входим в ветку, которую хотим слить
git merge имя_ветки # сливаем с другой веткой

Remotes

{{fixme}}

Merge

{{fixme}}

Colaboration

{{fixme}}

Tegging

{{fixme}}

Rewrite history

Удаление ошибок и корректировка созданной истории

# Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории
git reset <коммит>
 
# Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита.
git reset --hard <коммит>