Files
wikipedia/Git/Git.md
T
2026-04-22 19:55:16 +03:00

3.8 KiB
Raw Blame History

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

  1. Для работы нужно настроить ssh_config для прямого подключения через ключ
nano ~/.ssh/config
  1. Добавим блок нашего сервера (ключ id_ed25519 должен быть сгенерирован)
Host ha-server
    HostName 89.109.8.114
    Port 2202
    User emb
    IdentityFile ~/.ssh/id_ed25519

  1. Добавим публичный ключ .ssh/id_ed25519.pub в содержимое .ssh/authorized_keys на сервере

  2. Теперь можно не использовать логин и пароль при SSH подключении и копировании

ssh ha-server 
  1. Инициализация git Bare-репозитория на сервере (git уже установлен)
mkdir -p ~/repos/my_project.git
cd ~/repos/my_project.git
git init --bare

4. Settings on work PC

  1. Инициализируем Пустой репозиторий и добавляем удаленный репозиторий на Server
git init --bare 
git remote add origin ha-server:/home/emb/workspace/wiki.git
  1. Пуш в репозиторий. Внесение изменений в репозиторий и push на сервер
git add .
git commit -m "commit name"
git push -u origin master
  1. Пулл с репозитория. Начало работы (репозиторий должен быть проинициализирован):
git pull 

==При возникновении проблем== Если возникла ошибка fatal: detected dubious ownership- владелец папки не совпадает с пользователем необходимо выполнить:

git config --global --add safe.directory /home/emb/workspace/wiki.git
  1. Работа с ветками

Ветки нужны, чтобы делать новые фичи, не ломая основной код:

  • git branch — список всех веток.
  • git checkout -b имя_ветки — создать новую ветку и перейти в нее.
  • git checkout master — вернуться на главную ветку.
  • git merge имя_ветки — влить изменения из другой ветки в текущую.
  1. Полезные мелочи
  • git log — посмотреть историю всех коммитов (кто, когда и что сделал).
  • git diff — увидеть конкретные изменения в строках кода до коммита.
  • git remote -v — проверить, к какому серверу привязан твой локальный Git.

Настройка зеркалирования репозиториев