guidesStorage/Git/first_usage_remote_repo.md

84 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Специально для 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. Так же можно использовать для клонированных репозиториев)