220426
This commit is contained in:
+113
@@ -0,0 +1,113 @@
|
||||
### General commands
|
||||
Клонирование репозитория на новый ПК:
|
||||
```bash
|
||||
git clone ha-server:/путь/к/wiki.git
|
||||
```
|
||||
|
||||
### 1. Подготовка изменений (локально)
|
||||
перед тем, как отправить код, нужно собрать коммит
|
||||
|
||||
Проверка статуса:
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
Добавить файлы в очередь:
|
||||
```bash
|
||||
git add .
|
||||
```
|
||||
Сохранить изменения локально с комментарием:
|
||||
```bash
|
||||
git commit -m "Commit description"
|
||||
```
|
||||
|
||||
|
||||
### 2. Обмен данными с сервером
|
||||
Отправка локальных коммитов на сервер:
|
||||
```bash
|
||||
git push
|
||||
```
|
||||
Забрать изменения с сервера
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
Проверка, произошли ли изменения на сервере
|
||||
```bash
|
||||
git fetch
|
||||
```
|
||||
|
||||
### 3. Settings Git on my Server
|
||||
1. Для работы нужно настроить ssh_config для прямого подключения через ключ
|
||||
``` bash
|
||||
nano ~/.ssh/config
|
||||
```
|
||||
|
||||
2. Добавим блок нашего сервера (ключ `id_ed25519` должен быть сгенерирован)
|
||||
``` bash
|
||||
Host ha-server
|
||||
HostName 89.109.8.114
|
||||
Port 2202
|
||||
User emb
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
|
||||
```
|
||||
|
||||
3. Добавим публичный ключ `.ssh/id_ed25519.pub` в содержимое
|
||||
`.ssh/authorized_keys` на сервере
|
||||
|
||||
4. Теперь можно не использовать логин и пароль при SSH подключении и копировании
|
||||
```bash
|
||||
ssh ha-server
|
||||
```
|
||||
|
||||
5. Инициализация git Bare-репозитория на сервере (git уже установлен)
|
||||
```bash
|
||||
mkdir -p ~/repos/my_project.git
|
||||
cd ~/repos/my_project.git
|
||||
git init --bare
|
||||
```
|
||||
|
||||
|
||||
### 4. Settings on work PC
|
||||
1. Инициализируем Пустой репозиторий и добавляем удаленный репозиторий на Server
|
||||
```bash
|
||||
git init --bare
|
||||
git remote add origin ha-server:/home/emb/workspace/wiki.git
|
||||
```
|
||||
2. Пуш в репозиторий. Внесение изменений в репозиторий и push на сервер
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "commit name"
|
||||
git push -u origin master
|
||||
```
|
||||
|
||||
3. Пулл с репозитория. Начало работы (репозиторий должен быть проинициализирован):
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
|
||||
|
||||
==При возникновении проблем==
|
||||
Если возникла ошибка `fatal: detected dubious ownership`- владелец папки не совпадает с пользователем необходимо выполнить:
|
||||
```bash
|
||||
git config --global --add safe.directory /home/emb/workspace/wiki.git
|
||||
```
|
||||
|
||||
|
||||
4. Работа с ветками
|
||||
|
||||
Ветки нужны, чтобы делать новые фичи, не ломая основной код:
|
||||
|
||||
- **`git branch`** — список всех веток.
|
||||
- **`git checkout -b имя_ветки`** — создать новую ветку и перейти в нее.
|
||||
- **`git checkout master`** — вернуться на главную ветку.
|
||||
- **`git merge имя_ветки`** — влить изменения из другой ветки в текущую.
|
||||
|
||||
5. Полезные мелочи
|
||||
|
||||
- **`git log`** — посмотреть историю всех коммитов (кто, когда и что сделал).
|
||||
- **`git diff`** — увидеть конкретные изменения в строках кода до коммита.
|
||||
- **`git remote -v`** — проверить, к какому серверу привязан твой локальный Git.
|
||||
|
||||
---
|
||||
|
||||
### Настройка зеркалирования репозиториев
|
||||
Reference in New Issue
Block a user