ОСНОВЫ РАБОТЫ С GITHUB

Не знаю, нахуя мне это надо... А главное, зачем? И все же, решил-таки перенести несколько своих проектов на Гитхаб. Ну бля, там столько, сука, надо писать руками букав в терминал, что как-то даже неприкольно. Хотя, на самом деле, я реально страдаю от того, что у меня на разных компах куча разных папок Sources и там я хуй знает, где какие версии одних и тех же программ. Наверно, тут прикол в контроле версий, в этих ветках, что важно для командного подхода к программированию. Я пока в команде особо не работаю и поэтому мне как это... Наверно, все же будет полезно в том плане, что я смогу заливать туда свои сырцы, скажем, на работе, и уже через полчасика скачивать их дома довольно оперативно, надо только прописать какие-нибудь скрипты, чтобы не вводить в терминал все эти уебищные команды каждый раз. Заодно будет плюсом задокументированная история изменений... Наверно. Хуй знает. Посмотрим.

🔧 Установка Git на Windows

Перед началом работы с GitHub необходимо установить сам Git на компьютер. Без него команды git clone, git commit и другие работать не будут.

✅ Шаг 1: Скачать Git

Перейдите на официальный сайт: git-scm.com

Сайт автоматически определит вашу ОС. Скачайте и запустите установочный файл для Windows.

✅ Шаг 2: Установить Git

При установке оставляйте параметры по умолчанию, за исключением следующих пунктов:

  • Editor: можете выбрать Notepad++, VS Code или оставить стандартный.
  • PATH: выберите Git from the command line and also from 3rd-party software.
  • SSH: выберите Use OpenSSH.

Затем нажмите «Далее» до завершения установки. Перезагрузка обычно не требуется.

✅ Шаг 3: Проверить установку

Откройте PowerShell или Командную строку и выполните:

git --version

Если всё установлено корректно, вы увидите строку вроде:

git version 2.44.0.windows.1

Теперь вы можете использовать Git как в терминале, так и через контекстное меню Проводника (если активировали эту опцию).

🚀 Настройка Git и SSH-доступа на примере проекта MARS

Эта статья поможет настроить удобную работу с GitHub через SSH-ключи, использовать ветки develop и release, загружать и скачивать проект, а также решать частые проблемы.


🧱 1. Создание репозитория на GitHub

  1. Зайди на https://github.com.
  2. Нажми + (в правом верхнем углу) → New repository.
  3. Название: Mars, описание можно оставить пустым.
  4. Убери галочки «Initialize with README» и «Add .gitignore» — мы это сделаем локально.
  5. Нажми Create repository.

🔐 2. Создание SSH-ключей

ssh-keygen -t rsa -b 4096 -C "Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript."

Нажми Enter для пути по умолчанию %USERPROFILE%\.ssh\id_rsa.

📤 Скопируй публичный ключ:

notepad $env:USERPROFILE\.ssh\id_rsa.pub

Там должно быть что-то вроде

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDencVvgc2zg1O9z/nS3HSy5hUzubgVQ+asGfGpEAxXE4OCsZ09xT6Qay2Hwmi1BBzQ/7Wkil1Abni0NZ95OwqHOlH8SJ4Ds5aXdzTJa+UqcKLekr+dMTkuN5M5nnTktOYDjDR4yrhU8CI/6GAMZQhNAToClKTa8czr3JFTScICWIC4qbuuUv4MFjdqyT1Qv+uLd71L+4ixfDDZAMmlnGkIzwbIh9xXlhPzNfVlpB1d+IslV/iYSHb4g8+oAeae4X9awh3I3/LYuq4Xm+kjW/nis4rju+/MefuD8lsqNEL3SP72eNw2mrvWrrCfgS2RkmpV3xt4VOFmXXYL2ecrY0D0UASmjX9qyj/sOC+nRJZn94C1svypKp1vEH5wtj4948S0GN8e+3OTXZqD5Ks9114h0O5liL/6iFfUzSM1FfOO2jjojnRvHy6v5znafom78kH8nYVOYCGxbrdMAxtTucHeOupGx2EOYoifiIApRvezEk8uSHkR0U1EO539CXkdDclzwqeh6yXyYGREHIBUNE0yXEeyXUmMQpM1G91vB6hBgIiIvGA9ah+V82Erf17hyQLG6ASBgHHN1TAYX7Gofq7mgYonc0vjXynic1w52zwvTbfRrbYPNEob5IUcGnRtC3hKpl2wN3iZwHI0PaSHy1lPchDtGwonVjfgFxyFE3uWQ== Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

Копируем. Далее...

📌 Добавь ключ на GitHub:

  1. На сайте GitHub зайди в свой профиль → Settings.
  2. Слева выбери SSH and GPG keys.
  3. Нажми New SSH key.
  4. Вставь содержимое id_rsa.pub в поле «Key».
  5. Нажми New SSH key.
github 1
 

⚙️ 3. Настройка SSH-агента (способ 1 — через службу)

Set-Service -Name ssh-agent -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_rsa
ssh -T Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

Если всё верно, будет ответ:

Hi madmentat! You've successfully authenticated, but GitHub does not provide shell access.

⚙️ 4. Альтернативный способ (способ 2 — без агента)

Если ssh-agent не работает, можно задать ключ напрямую:

$env:GIT_SSH_COMMAND = "ssh -i $env:USERPROFILE\.ssh\id_rsa"
git clone Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.:madmentat/Mars.git

🌱 5. Работа с ветками (create / delete)

Создать ветки:

git checkout -b develop
git push -u origin develop

git checkout -b release
git push -u origin release

Удалить ветку:

# Локально
git branch -d branch_name

# Удалённо
git push origin --delete branch_name

📦 6. Загрузка проекта с нужной ветки

Клонировать ветку develop:

git clone --branch develop Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.:madmentat/Mars.git

Или переключиться на нужную ветку после клонирования:

git checkout develop

📤 7. Заливка проекта на GitHub

cd D:\Sourses\Mars
git init
git remote add origin Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.:madmentat/Mars.git

git checkout -b develop   # или release

git add .
git commit -m "Первый коммит"
git push -u origin develop

🧰 8. Полезные команды Git

  • git status — показывает текущие изменения.
  • git log — история коммитов.
  • git diff — сравнение изменений.
  • git stash — временно сохранить незакоммиченные изменения.
  • git branch — список локальных веток.
  • git branch -a — все ветки (локальные и удалённые).

🧯 9. Проблемы и решения

  • Permission denied: ключ не добавлен в GitHub или выбран не тот ключ.
  • Connection reset by port 22: может быть блокировка фаерволом. Попробуй порт 443:
# ~/.ssh/config (создай файл, если нет)
Host github.com
  HostName ssh.github.com
  Port 443
  User git

📁 Пример: проект Mars

# Клонировать ветку develop:
git clone --branch develop Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.:madmentat/Mars.git

# Переключиться на release:
git checkout release