guidesStorage/Git/first_usage_remote_repo.md

5.8 KiB
Raw Permalink Blame History

Специально для linuxoid@mastodon.ml
Ну смотри, как я делаю обычно, правда возможно это не правильно, но ладно. Опуская подробности регистрации аккаунта и прочее не особо важное.

Создание и обмен публичными ключами для авторизации

  1. Создаем ключ ssh, он нам будет нужен для git push (вкидывать изменения)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 

Для большей приватности можешь генерировать на каждый Gitea разный ключ, как минимум указав путь ~/.ssh/example_gitea , но, если не париться, то можно просто нажать enter на этом этапе. Далее попросит создать пароль для ключа, это рекомендовано, но не является обязательным.

  1. Указываем какой ключ юзать при подключении к выбранному хосту. (Опционально, требуется при раздельных ключах)
$ nano ~/.ssh/config

Заполнить его подобным содержимым:

Host gitea.phreedom.club # Здесь указываете хост, на котором Gitea
	IdentityFile ~/.ssh/example_gitea # Путь до ключ-файла

*nano указан как пример, можно любым редактором

  1. Отправляем свой публичный ключ в Gitea
  • Зайдите на аккаунт
  • Иконка профиля > Настройки > SSH / GPG ключи > Управление SSH ключами > Добавить ключ
  • Публичный ключ лежит рядом с приватным, он имеет расширение .pub, открыть его редактором и скопировать содержимое
  • Внести содержимое скопированное из предыдущего пункта. Имя опционально может быть любым.

Обмен ключами завершен, публичный ключ от хоста Gitea вы получите при подключении.

Создание пустого репозитория и выгрузка в remote

  1. Локально создаем репозиторий, если его нет. Для этого обычно выделяют отдельную папку.
$ mkdir myfirstrepo
$ cd myfirstrepo
$ git init
  1. Теперь в веб интерфейсе Gitea нужно проделать следующее:
  • Нажмите на кнопку "+" > Новый репозиторий > Дайте название репозиторию > Выберете видимость > Заполнить описание если нужно > Создать репозиторий
  • Далее нажмите кнопку SSH, у вас будет инструкция как создать новый репозиторий из командной строки. Делать git init не обязательно, если репозиторий уже был инициализирован. Обычно инструкция выглядит так:
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@gitea.phreedom.club:your_remote_nick/example_repo_name.git
git push -u origin master

Но, она не учитывает, что нужно представиться git. Сделать это можно несколькими способами.

  1. Представляемся git
    Глобально (будет использоваться во всех репозиториях):
git config --global user.email user_mail@example.org
git config --global user.name your_remote_nick

Локально (работает только на репозитории в котором вы находитесь). Тоже самое, но убрать опцию --global Так же можно вручную поправить конфигурационный файл находящийся по пути .git/config вашего репозитория, добавить туда секцию [user]:

[user]
	name = your_remote_nick
	email = user_mail@example.org
  1. Отправка изменений на удаленный репозиторий
    После изменений файлов, добавления, удаления можно выгружать изменения на удаленный репозиторий
$ git add . # Добавит все измененные файлы внутри репозитория в индекс
$ git commit -m 'updated files' # Сделает коммит с сообщением после опции -m
$ git push # Выгружает изменения в удаленный репозиторий

На заметку: можно посмотреть что изменилось перед добавлением в индекс командой git add -p

  1. Получение изменений от удалённого репозитория
    На тот случай, если к удаленному репозиторию имеют доступ несколько коммитеров или вы меняли через веб интерфейс, просто выполните команду git pull, чтобы обновить свой локальный репозиторий. (P.S. Так же можно использовать для клонированных репозиториев)