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