mirror of
https://gitea.phreedom.club/localhost_frssoft/guidesStorage
synced 2025-01-09 11:41:02 +00:00
84 lines
5.8 KiB
Markdown
84 lines
5.8 KiB
Markdown
Специально для 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. Так же можно использовать для клонированных репозиториев)
|
||
|