Системы контроля версий (GIT) (Конспект. Hexlet)

Введение 

 

Контроль версий 

  1. snapshot(снепшот) — измененный файл
  2. diff (диф) — только изменения
  3. Revision(ревизия) — любое зафиксированное изменение в системе контроля версий
  4. Команда *unix diff — сравнение файлов
  5. Команда *unix patch — накладывание diff на файл

Системы контроля версий 

  1. commit (коммит) — процесс создания revision в СКВ (системе контроля версий)
  2. требования к commit
    1. Именование. Коммиты должны иметь осмысленное описание. Например: «fix scrolling».
    2. Атомарность. Коммит должен решать одну задачу и желательно от начала до конца.
  3. поколения СКВ
    1. RCS, SCCS
    2. CVS, SourceSafe, Subversion
    3. Git, Bazaar, Mercurial

 Основы гит 

  1. Установка GIT
    1. mac: brew install git
    2. ubuntu: sudo apt install git
    3. windows: choco install git (chocolatey.org либо gitforwindows если вы не знакомы с пакетными менеджерами)
  2. Настройка имени и почты
    1. $ git config —global user.name «Mona Lisa»
    2. $ git config —global user.email «mona@lisa.io»
  3. Инициализация репозитория — git init внутри той директории, которая станет репозиторием (при этом создается директория .git)
  4. Файл .git/config — конфигурация репозитория
  5. Команда git status внутри папки .git — информация о репозитории
  6. Команда git add подготавливает измененный или добавленный файл к коммиту (пример: git add README.md)
  7. Команда git commit непосредственно фиксирует изменения в репозитории (флаг -m ‘init project’ — добавление короткого коментария к коммиту)
  8. Команда git log — просмотр истории коммитов (флаг -p  — выводит diff, где «+» — добавленные строки, «-» — удаленные строки; перемещение по логу «f» и «b«)
    1. Идентификатор коммита, например, 679e31d62ac734e3074f092e417ba741be767a0d.
    2. Информация об авторе. Имя и адрес электронной почты, которые вводились во время конфигурации git.
    3. Дата коммита.
    4. Описание коммита. Сообщение, которое вводилось при выполнении коммита.
  9. Команда git show 3a64fccf14725593b7486ff09d6a6c325a5f8fcc — изменения в коммите с указанным id (можно соратить до первых семи символов id: git show 3a64fcc)
  10. Команда git diff — изменения в рабочей копии (каталог, в котором находится каталог репозитория .git)
  11. туториал от Github

Состояния файлов в гите 

  1. Все файлы делятся на tracked и untracked
    1. Untracked – это новый файл, который не был добавлен для отслеживания командой git add.
    2. Tracked — все остальные файлы являются tracked
  2. Файл .gitignore  — список файлов-исключений для коммитов; гит будет игнорировать эти файлы (пример)
  3. Команда git rm — удаление данных из репозитория (примеры: git rm FILE1 FILE2git rm Documentation/\*.txt)
  4. Состояния tracked файлов:
    1. unmodified
    2. modified (git commit не отображает файлы modified файлы)
    3. staged (файлы после команды git add)
  5. Команда git add -i — интерактивное добавление изменений в staged (или, как говорят, «в индекс»)

 

Статусы файлов в git

  1. Удаление файлов из индекса
    1. reset: git reset path/to/file переводит файл из состояния staged в modified
    2. checkout: git checkout path/to/file переводит файл из состояния modified в unmodified, то есть по сути эта команда сбрасывает изменения.
  2. Команда git clean -i — удаление untracked файлов

 Ветки в гит 

  1. Команда git branch — показывает список веток
  2. Команда git branch new-feature — создание новой ветки
  3. Команда git checkout new-feature — переключение на новую ветку

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.