Подробнее про Git-scm
Git-scm представляет из себя популярную надстройку для работы с системой контроля версий Git. Содержит всё необходимое для работы с GitHub + несколько дополнительных полезных фич, вот некоторые из них:
- Терминал Git с автокомплитом
- Интеграция в ваш любимый редактор
- Менеджер учётных записей
- Универсальность при работе с переносами строк в Linux, Mac и Windows
- Поддержка кэширования
- И многое другое
Установка Git-scm
Открываем страницу https://git-scm.com/downloads
Выбираем платформу Windows. Я выбрал 64-bit Git for Windows Setup. Обычную, не портабл. После скачивания фаила начинаем установку. Открываем экзешник.

При установке никаких дополнительных действий делать не нужно, просто нажимаем Next до тех пор пока полностью не пройдёт установка.


Тут по желанию можно включить (NEW!) ADD a Git Bash Profile to Windows Terminal. Так же рекомендуется снять выбор с Git GUI Here, т.к. оно используется очень редко. Таким образом контекстное меню Windows не будет перенасыщено ненужными вещами.


А на этом шаге выбираем стандартный редактор для написания комментариев, например для коммитов. По стандарту там стоит VIM, который подойдёт далеко не для всех, поэтому рекомендовано выбрать другой. Я для себя выбрал редактор Visual Studio Code. Выберите свой редактор либо оставьте значение по умолчанию.

Следующий пункт позволяет установить название ветки по умолчанию при создании нового репозитория командой git init. Если оставить первый пункт то новые репозитории будут создаваться с основной веткой master.
Выбрав второй пункт можно задать своё имя, например main. В данный момент система Git использует по умолчанию название главной ветки main. Название ветки не влияет на работу репозитория.

Тут предлагается выбрать - добавлять ли путь до Git в переменную окружения PATH. Если выбрать 1 пункт, то переменная окружения PATH не будет изменена, а значит и среды разработки не увидят установленный Git в системе.
Рекомендуется выбрать второй пункт, тогда установщик добавит в переменную окружения путь до Git и можно будет вызывать его прямо из консоли.

Выбор клиента для работы с SSH. Рекомендовано оставить по умолчанию Use bundled OpenSSH.

Выбор библиотеки для работы с SSL. Рекомендовано оставить OpenSSL.

Выбор стиля для переноса строк. Для Windows рекомендовано выбрать первый пункт Checkout Windows style, commit Unix style line endings.
Таким образом работая с репозиториями с переносами строк Unix \n, они будут автоматически заменяться в переносы Windows \r\n а при коммите, наоборот обратно заменяться на Unix

В данном пункте выбираем терминал по умолчанию для гита. Рекомендовано выбрать Use MinTTY (the default terminal of MSYS2), т.к. он более универсальный и красивый.
Второй пункт стоит выбрать если вы хотите работать с гитом в powershell

Настройка поведения команды git pull при получении обновления с удалённого сервера. Пункт по умолчанию будет всегда пытаться обновить локальную историю коммитов, без создания коммитов слияния. Рекомендовано оставить значение по умолчанию.

Если вы планируете работать с удалёнными репозиториями github и gitlab рекомендовано выбрать пункт Git Credential Manager. В таком случае ввести логин и пароль от этих сервисов понадобится только один раз, далее учётные данные будут сохранены в специальном хранилище менеджера профилей.
Если же выбрать пункт None, то придётся авторизовываться каждый раз при соединении с удалённым репозиторием. Пункт None стоит выбирать только в случае, если вы планируете использовать SSH-ключ для аутентификации.

Enable file system caching позволит ускорить работу Git.
Enable symbolic links рекомендовано не включать.

Поддержка экспериментальных возможностей. Включаем по желанию.

Начнется процесс установки.

И его успешное завершение.

На этом установка завершена.
Авторизация в git-scm
Первым делом открываем ярлык Git Bash Here. При открытии этого ярлыка с рабочего стола или из меню пуск, он сразу откроет его в нужной директории C:\Users\USERNAME
Внутри этой папки необходимо создать фаил .gitconfig для этого вводим команду

Теперь необходимо отредактировать этот фаил в любом удобном для вас редакторе. В моём случае фаил располагается по такому пути
C:\Users\censured\.gitconfig
Заполняем фаил информацией, заменив email и username на свои и сохраняем.
email=username@gmail.com
user=username
Теперь при вводе в Git Bash такой команды, должна появиться информация из фаила .gitconfig

Далее рассмотрим авторизацию на примере создания нового репозитория.
Если вы ещё этого не сделали то регистрируемся в GitHub. Подготавливаем сразу наши данные для авторизации, они сейчас нам понадобятся.
Отправляемся на страницу создания нового репозитория
Придумываем название для нового репозитория
Можно вписать описание в поле Description
Выбираем тип репозитория Public / Private
Следующие 3 настройки я рекомендую оставить без изменения
Наконец создаём репозиторий, нажав по кнопке Create repository

После этого репозиторий будет создан и появится подсказка для быстрого старта

Для дальнейшей комфортной работы создадим папку для хранения репозиториев. У меня она находится в
D:\Backup\Work\git\killarbyte
Также в этой папке создаём папку для нашего репозитория у меня это будет
D:\Backup\Work\git\killarbyte\scm-testing
Переходим в эту папку scm-testing и внутри неё открываем Git Bash
Самое время воспользоваться подсказкой, которая появилась при создании нового репозитория. Следуя этой подсказке мы клонируем наш только что созданный репозиторий к себе
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/killarbyte/scm-testing.git
git push -u origin main
Во время выполнения последней команды откроется специальный менеджер для авторизации в GitHub

Самый простой путь - авторизация с помощью браузера. Нажимаем Sign in with your browser. Вы должны быть авторизованы в GitHub в Вашем браузере по умолчанию.
В результате откроется специальная страница

Разрешаем авторизацию нажав на кнопку Authorize GitCredentialManager.
Вводим свой пароль и подтверждаем нажатием по кнопке Confirm Password.

Если всё ок, то нас перекидывает на вот такую страницу, что говорит об успешной авторизации в GitHub.

Теперь та последняя команда из подсказки выполнится с успехом, в результате чего в Ваш репозиторий будет загружен фаил README.md

Таким образом мы успешно авторизовались в системе, а наши данные сохранились в Хранилище учётных данных Git-scm
Загрузка уже готового кода в репозиторий
Так же на всякий случай добавлю код из подсказки. Который будет загружать уже имеющийся проект в репозиторий GitHub. Например вы создали новый репозиторий, код которого уже был написан до этого и хотите сразу загрузить этот код в репозиторий.
git branch -M main
git push -u origin main
Работа с существующими репозиториями
Наверняка Вы сталкивались или Вам предстоит столкнуться с ситуацией, когда вы работали с каким то репозиторием на одной операционной системе, а через какое то время переустановили или обновили операционную систему, при этом репозиторий по прежнему находится в той же папке на вашем диске.
После установки Git-scm и успешной авторизации через новый репозиторий, старые репозитории не работали, вместо пуша комитов было сообщение:
Хотя с новыми репозиториями всё было ок. У меня так было когда я наконец то поставил windows 10, после того как около 7ми лет пользовался Windows 7.

Тут нужно совершить 1 дополнительный шаг. Зачастую git сам пишет что именно надо сделать. В моём случае я открыл свой репозиторий и написал там
А после этого выполнил такую команду. Судя по её синтаксису, я добавил папку со старым репозиторием в доверенные.
Сразу после этого заработал пуш коммитов

Пушим коммиты
Пушить комиты, то есть добавлять изменения в Ваш репозиторий вводя каждый раз несколько команд неудобно. Можно сократить всё до одной команды. Этот вариант подходит для ленивых.
Дополнительно
Я постарался по максимуму описать всё самое необходимое для начала работы с Git-SCM for Windows. Не исключено что какие то моменты выпали из головы и в будущем, возможно, добавлю сюда ещё какую то дополнительную информацию.
Отправить комментарий