Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Шпора по git

Что такое git?

Это система контроля версий CVS(Version Control System). Можно называть SCM (Source control Managment).


Основные функции контроля версий

  • Хранит историю изменений в виде отдельных ревизий
  • Позволяет манипулировать историей: например менять порядок ревизий, полностью удалять версии, возвращатся назад в истории
  • Помогает анализировать изменения например: кто и когда внёс изменения в определённый файл и.т.д.

Операции с командной строкой

  • touch - создание файла
  • mkdir - создать директорию
  • cp - корирование файлов. Принимает два параметра: что копируем, куда копируем.
  • mv - перемещение файлов и папок
  • cat - чтение файлов
  • rm - удалить файл
  • rmdir - удалить файл
  • rm -r - удалить папку со всем содержимым
  • $$ - выполнить несколько команд сразу

Настройка git

Задаём имя и почту

git config --global user.name or user.email

Все настройки хранятся в файле .gitconfig в домашней директории.


Работа с git

git init - сделать папку репозиторием

Для отмены можно удалить папку .git в созданом репозитории.

git status - проверить состояние репозитория

git add - добавить по одному файлу

git add --all - добавить все файлы в репозитории

git add. - добавить всю текущую папку


Что такое коммит

Коммит гарантирует, что изменение будут сохранены в истории и при необходимости к ним можно будет откатится.

git commit - выполнить коммит.

-m - ключ, который присваивает коммиту сообщение.

git log - посмотреть историю коммитов.


Проверка наличия SSH ключа

  1. Перейти в домашнюю директорию
  2. ls -la.ssh - вывести список созданных ключей
  • гененрируем ключ

ssh-keygen -t ed25519 -c "e-mail"

  • Копируем содержимое ключа

clip < ~/.ssh/id_ed25519.pub

  • проверить ключ

ssh -T git@github.com

git remote add - привязать удалённый репозиторий к локальному. Так же надо добавить имя например origin, а потом ссылку с гита.

Origin - стандартный псевдоним, с помощью которого можно обращатся к главному удалённому репозиторию.

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

Отправить изменения на удалённый репозиторий.

git push - однако в первый раз вводить **push -u origin main/master.

Хеш - идентификатор коммита.

Хеширование - способ преобразования набора данных и получения его отпечатка.

Информация о коммите - это набор данных: когда и кем был сделан коммит, содержание файлов в репозитории на момент коммита и ссылка на предидущий или родительский коммит.

Строка хеша:

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

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

Хеш - основной индетификатор коммита, зная его можно увидеть всю информацию по коммиту.

Лог

git log - вывести список коммитов

Получить сокращённый лог: git log --oneline в терминале появится только первые несколько символов хеша каждого коммита и их комментарии.

HEAD - всему голова

Файл HEAD - служебный файл, который хранится в папке .git. Указывает на коммит, который сделан последним (самый новый).

Многие команды git используют в качестве параметра хеш коммитов, если нужно обратится к последниму, то можно передать HEAD. Гит поймёт.

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

Гит отслеживает изменения файлов в репозитогрии. Для этого каждый файл помечается статусом.

untracked - новый неостлеживаемый файл. У файла с этим статусом нет предидущих версий.

staget - после выполнения git add, файл поподает в зону подготовки файлов для коммита (staget area). Так же файлы помечаются статусом staget.

tracked - противоположность untracked. Сюда так же входят файлы хранящейся в staget area.

modified - файл, который был изменён после коммита.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors