76 lines
3.5 KiB
Markdown
76 lines
3.5 KiB
Markdown
# 10 — Работа со своего компьютера
|
|||
|
|
|
||
|
|
🌍 [English](../../en/10-clone-and-tokens/readme.md) · [Türkçe](../../tr/10-clone-and-tokens/readme.md) · [Deutsch](../../de/10-clone-and-tokens/readme.md) · [Français](../../fr/10-clone-and-tokens/readme.md) · **Русский**
|
||
|
|
|
||
|
|
Для документов хватает браузера. Для настоящей работы — много файлов сразу или запуск кода — скопируйте репозиторий на свою машину.
|
||
|
|
|
||
|
|
## Получить копию
|
||
|
|
|
||
|
|
Нажмите кнопку **Клонировать** на странице репозитория и скопируйте адрес.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone https://forge.kabaforce.com/owner/project.git
|
||
|
|
cd project
|
||
|
|
```
|
||
|
|
|
||
|
|
## Ежедневный цикл
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git pull # забрать то, что изменили другие
|
||
|
|
# ... редактируем файлы ...
|
||
|
|
git status # что я изменил?
|
||
|
|
git add . # подготовить изменения
|
||
|
|
git commit -m "добавить заметки по установке"
|
||
|
|
git push # отправить их в KabaForge
|
||
|
|
```
|
||
|
|
|
||
|
|
Если `git push` отклонён, значит кто-то отправил свои изменения раньше: выполните `git pull`, разрешите то, о чём он сообщит, и отправьте снова.
|
||
|
|
|
||
|
|
## Аутентификация из командной строки
|
||
|
|
|
||
|
|
Пароль от KabaForce ID не работает по HTTPS. Вместо него создайте токен:
|
||
|
|
|
||
|
|
1. **Аватар → Настройки → Приложения → Создать новый токен**.
|
||
|
|
2. Дайте ему имя и только нужные права (обычно достаточно `repo`).
|
||
|
|
3. Скопируйте его один раз — больше он не показывается.
|
||
|
|
4. Когда git спросит пароль, вставьте токен.
|
||
|
|
|
||
|
|
Чтобы вводить его лишь однажды:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git config --global credential.helper store
|
||
|
|
```
|
||
|
|
|
||
|
|
## SSH вместо токенов
|
||
|
|
|
||
|
|
1. Создайте ключ, если его нет: `ssh-keygen -t ed25519`
|
||
|
|
2. Скопируйте `~/.ssh/id_ed25519.pub`.
|
||
|
|
3. **Аватар → Настройки → SSH-ключи → Добавить ключ**, вставьте.
|
||
|
|
4. Клонируйте по SSH-адресу, который показан в **Клонировать**.
|
||
|
|
|
||
|
|
После этого пароль спрашивать не будут.
|
||
|
|
|
||
|
|
## Полезные мелочи
|
||
|
|
|
||
|
|
| Нужно | Команда |
|
||
|
|
|-------|---------|
|
||
|
|
| Посмотреть историю | `git log --oneline --graph` |
|
||
|
|
| Отменить локальные правки файла | `git restore file.md` |
|
||
|
|
| Переключить ветку | `git switch branch-name` |
|
||
|
|
| Создать ветку | `git switch -c new-branch` |
|
||
|
|
|
||
|
|
## Автоматизация
|
||
|
|
|
||
|
|
Репозитории можно читать и изменять через API KabaForge с тем же токеном:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -H "Authorization: token ВАШ_ТОКЕН" \
|
||
|
|
https://forge.kabaforce.com/api/v1/repos/owner/project/contents
|
||
|
|
```
|
||
|
|
|
||
|
|
Относитесь к токенам как к паролям: никогда не кладите их в файл, который коммитите.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
⬅ [Назад: 09 — Ветки и пул-реквесты](../09-branches-and-pull-requests/readme.md) · 📚 [Содержание](../README.md)
|