Page N.

Git

Что мы знаем о данном инструменте?

План

  • Кратко о git. что это такое...
  • Настройка гита

Кратко о git. что это такое...

Это децентрализованная система контроля версий

1. Контроль версий представляется так что в каждом ТЕКСТОВОМ файле мы можем посмотреть кто и что менял и когда.

2. Все именения выглядят как patch, то есть в каком файле в после каких строк надо добавить новые строки

3. Некоторое количество изменений то есть коммит (некая минимальная структурная единица информации определенная одним автором как логически завершенные изменения)

4. Мы можем пользоваться гитом локально а также менять/добавлять цдаленные хранилища

5. изменения в гите это коммиты которые представляют собой граф (позже поглядим на них)

Также есть отличная книга по гиту https://git-scm.com/book/ru/v2

Настройка гита. Установка.

Вначале надо установить на систему git.

Под linux на базе дебиан (ubuntu): apt install git

Под windows: скачать с оффициального сайта

Под mac: раньше через brew можно было поставить на текущий момент я без понятия

Настройка гита. Авторизация.

Есть два типа авторизации в гите (мне известно только о них):

  • Через basic auth то есть типа
    git clone http://user:pass@site.com/repos/repo1 repo1_via_basicauth.git
  • или через ssh-ключ
    git clone git@site.com:repos/repo1 repo1_via_ssh.git
    (но ключ надо предварительно настроить см далее)

repo1_via_basicauth.git - директория в куда сколонировать репозиторий

repo1_via_ssh.git - диреткория в куда сколонировать репозиторий

Настройка гита. Настройка и генерация персонального ключа.

Сгенерируем ключ (ДОПИСАТЬ)

в ~/.ssh/config можем прописать какой ключ и для какого сервера надо использовать (удобно для разделения рабочих ключей и личного).

Host github.com
  IdentityFile ~/.ssh/key1

Host bitbucket.org
  IdentityFile ~/.ssh/key2
              

~/.ssh/key1 - будет использоваться для работы с github.com

~/.ssh/key2 - будет использоваться для работы с bitbucket.org

Кроме IdentityFile можно всякого там настроить напрмиер User а остальное лучше погуглить

Также в этом файле можно настраивать ключи для доступа к сервера по ssh (чтобы также можно было использовать разные ключи к разным серверам)