Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Git instruction

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

Для чего?

  • Хранить, изменять, анализировать версии проекта
  • Объединять результаты работ команды

Где работать с Git

Терминал (консоль, командная строка)

macOS / Linux

  1. Запустить программу Terminal

Windows

  1. На официальном сайте Git, скачать одну из версий категории Standalone Installer
  2. Установить программу обращая внимание на пункт Git Bash Here (включение его позволить терминалу с Git открыться в любой папке)
  3. Запустить программу Git Bash

Базовые команды терминала

Полезное

  • Для выполнения команд использовать Enter
  • Для использования нескольких команд, их нужно разделять &&
  • Для обращения к последней используемой команде стрелка вверх
    Двойное нажатие вернет предпоследнюю команду
    Для возвращения команды стрелка вниз
  • Для автозаполнения команды или пути Tab

Команды

pwd — вывести текущую рабочую директорию

Список

ls — вывести содержимое директории
ls ~ — вывести содержимое домашней директории
ls .. — вывести содержимое родительской директории (директории уровнем выше)
ls -a — вывести расширенный список содержимого директории (все скрытые файлы)

Навигация

cd — сменить директорию
cd ~ — перейти к домашней директории
cd . — перейти в текущую директорию
cd .. — вернуться в родительскую директорию
cd / — перейти в корневую директорию

Примитивные действия

touch — создать файл в текущей директории
touch ~ — создать файл в домашней директории
touch ..— создать файл в родительской директории

mkdir — создать директорию (папку) в текущей директории
mkdir -p — создать структуру директорий
mkdir ~ — создать директорию в домашней директории
mkdir .. — создать директорию в родительской директории

cp — копировать файл
cp ~ — скопировать файл в домашнюю директорию
cp .. — скопировать файл в родительскую директорию

mv — переместить файл или папку
mv ~ — переместить в домашнюю директорию
mv .. — переместить в родительскую директорию

cat — распечатать содержимое текстового файла

rm — удалить файл из текущей папки
rmdir — удалить пустую директорию
rm -r — удалить невзирая на то, что в директории есть содержимое


Установка Git

macOS
Первый способ

  1. В терминале выполнить команду /usr/bin/git
  2. Установить Git
  3. Проверить командой git version

Второй способ

  1. На официальном сайте Homebrew, скопировать команду для установки
  2. Найти Terminal, в него поместить и запустить скопированную ранее команду
  3. Установить Git с помощью Homebrew, запустив команду brew install git
  4. Проверить командой git version

Linux

  1. На официальном сайте Git выбрать команду установки для своей версии Linux
  2. Скопировать и запустить эту команду в терминале
  3. Проверить командой git version

Windows

  1. Git уже установлен вместе с терминалом
  2. Проверить командой git version

Команды Git

Настройка Git

Все глобальные настройки хранятся в файле .gitconfig

git config --global - вносит персональные данные (имя user.name, почта user.email)

Git - репозиторий

git init — сделать текущую папку репозиторием
rm -rf .git — "разгитить" папку

Ключи
-r — позволяет удалять папки вместе с их содержимым
-f — избавляет от подтверждений об удалении

git status — проверка состояния репозитория
git add — подготовить файл к сохранению в репозиторий
git add --all — подготовить к сохранению все имеющиеся файлы
git add . — добавить всю текущую папку в репозиторий

git commit — выполнить коммит (сохранение)
git commit -m— присвоить коммиту пояснительное сообщение
got log — посмотреть историю коммитов




GitHub

Платформа, которая работает с Git и упрощает командное взаимодействие

Для чего?

  • Создание, хранение и удаление удаленного репозитория
  • Совместная работа

Удаленный репозиторий

Создание

  1. Зайти на GitHub по ссылке https://github.com/ (username - имя указанное при регистрации)
  2. Создать репозиторий во вкладке Repositories, и дать ему название

Связка удаленного репозитория с локальным

Для связки репозиториев используется SSH

SSH — протокол, обеспечивающий безопасный обмен данных в сети и использует для этого ключи
SSH-ключ — виртуальный идентификатор GitHub позволяющий получить доступ к GitHub-репозиторию
SSH-ключ — публичный (зашифрует данные) и приватный (расшифрует данные)

cd ~ && ls -la .ssh/ — проверить наличие ключей

Генерация SSH-ключа

  1. Использовать программу ssh-keygen
    ssh-keygen -t ed25519 -C "электронная почта, к которой привязан аккаунт на GitHub"
    или
    ssh-keygen -t rsa -b 4096 -C "электронная почта, к которой привязан аккаунт на GitHub"
  2. Указать место хранение ключа или сделать домашний каталог путем по умолчанию нажав Enter
  3. Ввести кодовую фразу или оставить место пустым нажав Enter
  4. Проверить сгенерировались ли ключи la -a ~/.ssh

Связка SSH-ключа с GitHub

Созданные ключи хранятся в директории ~/.ssh

  1. Скопировать содержимое файла с публичным ключом в буфер обмена
    macOS
    pbcopy < ~/.ssh/id_номер или название.pub (Скопировать в буфер обмена все содержимое файла ~/.ssh/id_rsa.pub)
    Windows
    clip < ~/.ssh/id_номер или название.pub или cat ~/.ssh/id_номер или название.pub
  2. На GitHub в настройках выбрать SSH and GPG keys и создать новый ключ
  3. Дать название ключу и вставить скопированный ранее ключ
  4. Проверить правильность ключа ssh -T git@github.com

Связка репозиториев

На странице репозитория в GitHub необходимо скопировать URL выбрав тип SSH

git remote add — привязать удаленный репозиторий к локальному

git remote add origin git@github.com:имя аккаунта/first-project.git

git remote -v — убедиться, что репозитории связаны


Синхронизация локального репозитория с удаленным

git push — отправить изменения на удаленный репозиторий (В первый раз эту команду нужно вызвать с флагом -u)
-u — свяжет локальную ветку с одноименной удаленной


Хэш

Основной идентификатор коммита

Хеш — короткая строка, которая состоит из цифр 0—9 и латинских букв A—F

  • если хеш получить дважды для одного и того же набора входных данных, то результат будет гарантированно одинаковый
  • если хоть что-то в исходных данных поменяется (хотя бы один символ), то хеш тоже изменится

Коммит

История коммитов

git log — показать историю коммитов

  • commit (хеш коммита)
  • autor
  • date
  • само сообщение коммита

git log --oneline— показать сокращенную историю коммитов

  • одна строка
  • сокращенные хеши

Файл HEAD

Служебный файл папки .git, указывающий на последний коммит

cd .git/ && ls — перейти в папку и показать ее содержимое
cat HEAD — распечатать содержимое файла (внутри ссылка на хеш)

Изменения каммита

  • --amend работает только с последним коммитом (HEAD)
  • --no-edit оставить сообщение коммита без изменений

git commit --amend --no-edit — дополнить коммит файлом
git commit --amend -m "Новое сообщение" — изменить сообщение коммита

Сравнение коммита

  • git diff — сравнить последнюю закоммиченную версию файла с той, что находится в состоянии modified
  • git diff --staged — показать изменения в staged относительно последних закоммиченных версий

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

  • untracked — не отслеживаемый (перед git add)
  • staged — подготовленный (после git add)
  • tracked — отслеживаемый (после git commit)
  • modified — измененный

Жизненный цикл файла Git

graph LR;
  untracked -- "git add" --> staged;
  staged -- "git commit" --> tracked/comitted;
  tracked/comitted -- "изменения" --> modified;
  modified -- "git add" --> staged;
  staged --> modified;
Loading

Откат

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors