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