no-style

Начало работы с Git-SCM for Windows


Подробнее про Git-scm

Git-scm представляет из себя популярную надстройку для работы с системой контроля версий Git. Содержит всё необходимое для работы с GitHub + несколько дополнительных полезных фич, вот некоторые из них:

  • Терминал Git с автокомплитом
  • Интеграция в ваш любимый редактор
  • Менеджер учётных записей
  • Универсальность при работе с переносами строк в Linux, Mac и Windows
  • Поддержка кэширования
  • И многое другое






Установка Git-scm

Открываем страницу https://git-scm.com/downloads

Выбираем платформу Windows. Я выбрал 64-bit Git for Windows Setup. Обычную, не портабл. После скачивания фаила начинаем установку. Открываем экзешник.

git-scm exe

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

git-scm exe 1



git-scm exe 2



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

git-scm exe 3



git-scm exe 4



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

git-scm exe 5



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

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

git-scm exe 6



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

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

git-scm exe 7



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

git-scm exe 8



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

git-scm exe 9



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

Таким образом работая с репозиториями с переносами строк Unix \n, они будут автоматически заменяться в переносы Windows \r\n а при коммите, наоборот обратно заменяться на Unix

git-scm exe 10



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

Второй пункт стоит выбрать если вы хотите работать с гитом в powershell

git-scm exe 11



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

git-scm exe 12



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

Если же выбрать пункт None, то придётся авторизовываться каждый раз при соединении с удалённым репозиторием. Пункт None стоит выбирать только в случае, если вы планируете использовать SSH-ключ для аутентификации.

git-scm exe 13



Enable file system caching позволит ускорить работу Git.

Enable symbolic links рекомендовано не включать.

git-scm exe 14



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

git-scm exe 15



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

git-scm exe 16



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

git-scm exe 17

На этом установка завершена.







Авторизация в git-scm

Первым делом открываем ярлык Git Bash Here. При открытии этого ярлыка с рабочего стола или из меню пуск, он сразу откроет его в нужной директории C:\Users\USERNAME

Внутри этой папки необходимо создать фаил .gitconfig для этого вводим команду

touch .gitconfig


git auth touch gitconfig

Теперь необходимо отредактировать этот фаил в любом удобном для вас редакторе. В моём случае фаил располагается по такому пути
C:\Users\censured\.gitconfig

Заполняем фаил информацией, заменив email и username на свои и сохраняем.

[user]
    email=username@gmail.com
    user=username

Теперь при вводе в Git Bash такой команды, должна появиться информация из фаила .gitconfig

git config --list --global

git auth touch gitconfig 2

Далее рассмотрим авторизацию на примере создания нового репозитория.

Если вы ещё этого не сделали то регистрируемся в GitHub. Подготавливаем сразу наши данные для авторизации, они сейчас нам понадобятся.

Отправляемся на страницу создания нового репозитория

Придумываем название для нового репозитория

Можно вписать описание в поле Description

Выбираем тип репозитория Public / Private

Следующие 3 настройки я рекомендую оставить без изменения

Наконец создаём репозиторий, нажав по кнопке Create repository

git create new repo 1

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

git create new repo 2

Для дальнейшей комфортной работы создадим папку для хранения репозиториев. У меня она находится в
D:\Backup\Work\git\killarbyte

Также в этой папке создаём папку для нашего репозитория у меня это будет
D:\Backup\Work\git\killarbyte\scm-testing

Переходим в эту папку scm-testing и внутри неё открываем Git Bash



Самое время воспользоваться подсказкой, которая появилась при создании нового репозитория. Следуя этой подсказке мы клонируем наш только что созданный репозиторий к себе

echo "# scm-testing" >> README.md
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

github signin 1

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

В результате откроется специальная страница

github signin 2

Разрешаем авторизацию нажав на кнопку Authorize GitCredentialManager.

Вводим свой пароль и подтверждаем нажатием по кнопке Confirm Password.

github signin 3

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

github signin 4

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

github create new repo 3

Таким образом мы успешно авторизовались в системе, а наши данные сохранились в Хранилище учётных данных Git-scm







Загрузка уже готового кода в репозиторий

Так же на всякий случай добавлю код из подсказки. Который будет загружать уже имеющийся проект в репозиторий GitHub. Например вы создали новый репозиторий, код которого уже был написан до этого и хотите сразу загрузить этот код в репозиторий.

git remote add origin https://github.com/killarbyte/scm-testing.git
git branch -M main
git push -u origin main






Работа с существующими репозиториями

Наверняка Вы сталкивались или Вам предстоит столкнуться с ситуацией, когда вы работали с каким то репозиторием на одной операционной системе, а через какое то время переустановили или обновили операционную систему, при этом репозиторий по прежнему находится в той же папке на вашем диске.

После установки Git-scm и успешной авторизации через новый репозиторий, старые репозитории не работали, вместо пуша комитов было сообщение:

fatal: unsafe repository ('D:/Backup/Work/git/killarbyte/ab-stuff' is owned by someone else)

Хотя с новыми репозиториями всё было ок. У меня так было когда я наконец то поставил windows 10, после того как около 7ми лет пользовался Windows 7.

git old repo error 1

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

git init


А после этого выполнил такую команду. Судя по её синтаксису, я добавил папку со старым репозиторием в доверенные.

git config --global --add safe.directory D:/Backup/Work/git/killarbyte/ab-stuff


Сразу после этого заработал пуш коммитов

git old repo error 2







Пушим коммиты

Пушить комиты, то есть добавлять изменения в Ваш репозиторий вводя каждый раз несколько команд неудобно. Можно сократить всё до одной команды. Этот вариант подходит для ленивых.

git add . ; git commit -m "msg" ; git push






Дополнительно

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

Комментарии