Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 7.1 KB

KirienkoMR.md

File metadata and controls

49 lines (40 loc) · 7.1 KB

Git. Руководство пользователя

1. Основные команды

  • git init - инициализирует локальный репозиторий
  • git status - показывает текущее состояние гита, есть ли изменения, которые нужно закоммитить
  • git add - добавляет содержимое каталога в индекс (staging area). Команда дается после добавления файлов. Писать название название файла целиком необязательно, терминал дополнит данные автоматически
  • git commit - зафиксировать или сохранить
    Команда git commit берёт все данные, добавленные в индекс с помощью git add и сохраняет их слепок во внутренней базе данных а затем сдвигает указатель текущей ветки на этот слепок
  • git log - журнал изменений
    перед переключением версии файла в Git используйте команду git log чтобы увидеть количество сохранений
    --graph позволяет отобразить коммиты в виде дерева
  • git checkout - переключение между версиями
    для работы можно указать не только интересующий вас коммит, но и вернутся в тот, где работаеммпри помощи команды git checkout master
  • git diff - показывает разницу между текущим файлом и сохранённым
    перед переключением версий файла в Git используйте команду git log чтобы увидеть количество сохранений

2. Работа с ветвями

  • git branch - позволяет вывести на экран список веток, ветка в которой работаем будет выделена
  • git branch <название новой ветки> - позволяет создать новую ветку. Делать это надо в папке с репозиторием. Например:
    git branch new_branch
  • git checkout <название ветки> - используется для переключения между ветками
  • git merge - используется для переноса изменений из черновика в чистовик (слияния веток), чтобы слить ветку с текущей вызываем:
    git merge <имя ветки для слияния с текущей>
  • git branch -d <название ветки которуюнеобходимо удалить> - используется для удаления веток, слияние которых уже проведено. Для удаления неслитых веток используется -D
  • git branch -M main - переименование главной ветки с master на main
  • git log --graph - позволяет отобразить коммиты в виде дерева
  • git checkout -b <название ветки> - позволяет создать ветку из текущего коммита (например из одного из прошлых)
  • Конфликт изменений при работе в двух ветках одновременно может возникнуть может возникнуть когда в одной и другой ветке мы по-разному изменили блок текста. Если затем мы попробуем слить эти ветки, Git сообщит о конфоликте и предложит выбрать, какие изменения записать (пример 1).

3. Дополнительные команды

  • git --global user.name "..." - добавить имя пользователя
  • git --global user.email "..." - добавить email пользователя
  • git add+Tab - выбор файла, который необходимо добавить в коммит
  • git reset HEAD~ - удаление последнего коммита но не изменений, записанных в нём
  • git reset --hard HEAD~ - удаление и коммита и связанных с ним изменений
  • git rm <file_name.txt> - удаление файла из репозитория
  • -m - добавление комментария (message)
  • -a - для git commit -a заменяет git add для всех изменённых файлов
  • -am - объединяет возможности -a и -m (пример 2)
  • В Git не принято добавлять файлы изображений, их хранят на отдельных носителях, чтобы исключить ненужные файлы из загрузки необходимо создать в репозитории файл <.gitIgnore> и записать в него файлы, которые Git будет игнорировать (пример 3).

4. Работа с удалёнными репозиториями

  • git clone - позволяет клонировать внешний репозиторий на свой пк
    Команда git clone составная, она не только загружает все изменения но и пытается слить все ветки на локальном компьютере и в удалённом репозитории
  • git pull - позволяет выгрузить всё из текущего удалённого репозитория и автоматически сделать merge с нашей версией
  • git push - отправляет нашу версию репозитория на внешний репозиторий
  • git remote add origin <ссылка на удалённый репозиторий> - связка локального и удалённого репозитория
  • pull reqest - команда для предложения изменений на GitHub (запрос на вливание изменений в репозиторий)
    Предлагать изменения на GitHub необходимо в отдельной ветке

Больше информации по ссылкам

Создание репозитория
Сохранение изменений
Проверка репозитория
Отмена изменений