guidesStorage/Git/first_usage_remote_repo.md

84 lines
5.8 KiB
Markdown
Raw Permalink Normal View 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):
```
2022-03-04 08:56:04 +00:00
Для большей приватности можешь генерировать на каждый Gitea разный ключ, как минимум указав путь ```~/.ssh/example_gitea``` , но, если не париться, то можно просто нажать enter на этом этапе. Далее попросит создать пароль для ключа, это рекомендовано, но не является обязательным.
2. Указываем какой ключ юзать при подключении к выбранному хосту. (Опционально, требуется при раздельных ключах)
```
$ nano ~/.ssh/config
```
Заполнить его подобным содержимым:
```
Host gitea.phreedom.club # Здесь указываете хост, на котором Gitea
IdentityFile ~/.ssh/example_gitea # Путь до ключ-файла
```
*nano указан как пример, можно любым редактором
3. Отправляем свой публичный ключ в Gitea
* Зайдите на аккаунт
2022-03-04 09:05:31 +00:00
* Иконка профиля > Настройки > SSH / GPG ключи > Управление SSH ключами > Добавить ключ
* Публичный ключ лежит рядом с приватным, он имеет расширение .pub, открыть его редактором и скопировать содержимое
2022-03-04 08:56:04 +00:00
* Внести содержимое скопированное из предыдущего пункта. Имя опционально может быть любым.
2022-03-04 13:35:53 +00:00
Обмен ключами завершен, публичный ключ от хоста Gitea вы получите при подключении.
2022-03-04 13:35:53 +00:00
### Создание пустого репозитория и выгрузка в remote
1. Локально создаем репозиторий, если его нет. Для этого обычно выделяют отдельную папку.
```
$ mkdir myfirstrepo
$ cd myfirstrepo
$ git init
```
2022-03-04 13:57:30 +00:00
2. Теперь в веб интерфейсе Gitea нужно проделать следующее:
2022-03-04 13:35:53 +00:00
* Нажмите на кнопку "+" > Новый репозиторий > Дайте название репозиторию > Выберете видимость > Заполнить описание если нужно > Создать репозиторий
* Далее нажмите кнопку 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. Сделать это можно несколькими способами.
2022-03-04 13:57:30 +00:00
3. Представляемся git
2022-03-04 13:35:53 +00:00
Глобально (будет использоваться во всех репозиториях):
```
git config --global user.email user_mail@example.org
2022-03-04 13:57:30 +00:00
git config --global user.name your_remote_nick
2022-03-04 13:35:53 +00:00
```
Локально (работает только на репозитории в котором вы находитесь). Тоже самое, но убрать опцию --global
Так же можно вручную поправить конфигурационный файл находящийся по пути ```.git/config``` вашего репозитория, добавить туда секцию [user]:
```
[user]
name = your_remote_nick
email = user_mail@example.org
```
2022-03-04 13:57:30 +00:00
4. Отправка изменений на удаленный репозиторий
2022-03-04 13:35:53 +00:00
После изменений файлов, добавления, удаления можно выгружать изменения на удаленный репозиторий
```
$ git add . # Добавит все измененные файлы внутри репозитория в индекс
$ git commit -m 'updated files' # Сделает коммит с сообщением после опции -m
$ git push # Выгружает изменения в удаленный репозиторий
```
2022-03-04 13:57:30 +00:00
На заметку: можно посмотреть что изменилось перед добавлением в индекс командой ```git add -p```
2022-03-04 13:35:53 +00:00
2022-03-04 13:57:30 +00:00
5. Получение изменений от удалённого репозитория
2022-03-04 13:35:53 +00:00
На тот случай, если к удаленному репозиторию имеют доступ несколько коммитеров или вы меняли через веб интерфейс, просто выполните команду ```git pull```, чтобы обновить свой локальный репозиторий. (P.S. Так же можно использовать для клонированных репозиториев)