5.8 KiB
Специально для linuxoid@mastodon.ml
Ну смотри, как я делаю обычно, правда возможно это не правильно, но ладно. Опуская подробности регистрации аккаунта и прочее не особо важное.
Создание и обмен публичными ключами для авторизации
- Создаем ключ 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 на этом этапе. Далее попросит создать пароль для ключа, это рекомендовано, но не является обязательным.
- Указываем какой ключ юзать при подключении к выбранному хосту. (Опционально, требуется при раздельных ключах)
$ nano ~/.ssh/config
Заполнить его подобным содержимым:
Host gitea.phreedom.club # Здесь указываете хост, на котором Gitea
IdentityFile ~/.ssh/example_gitea # Путь до ключ-файла
*nano указан как пример, можно любым редактором
- Отправляем свой публичный ключ в Gitea
- Зайдите на аккаунт
- Иконка профиля > Настройки > SSH / GPG ключи > Управление SSH ключами > Добавить ключ
- Публичный ключ лежит рядом с приватным, он имеет расширение .pub, открыть его редактором и скопировать содержимое
- Внести содержимое скопированное из предыдущего пункта. Имя опционально может быть любым.
Обмен ключами завершен, публичный ключ от хоста Gitea вы получите при подключении.
Создание пустого репозитория и выгрузка в remote
- Локально создаем репозиторий, если его нет. Для этого обычно выделяют отдельную папку.
$ mkdir myfirstrepo
$ cd myfirstrepo
$ git init
- Теперь в веб интерфейсе 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. Сделать это можно несколькими способами.
- Представляемся 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
- Отправка изменений на удаленный репозиторий
После изменений файлов, добавления, удаления можно выгружать изменения на удаленный репозиторий
$ git add . # Добавит все измененные файлы внутри репозитория в индекс
$ git commit -m 'updated files' # Сделает коммит с сообщением после опции -m
$ git push # Выгружает изменения в удаленный репозиторий
На заметку: можно посмотреть что изменилось перед добавлением в индекс командой git add -p
- Получение изменений от удалённого репозитория
На тот случай, если к удаленному репозиторию имеют доступ несколько коммитеров или вы меняли через веб интерфейс, просто выполните командуgit pull
, чтобы обновить свой локальный репозиторий. (P.S. Так же можно использовать для клонированных репозиториев)