Еще инфа про GIT - maxred01/QA2825 GitHub Wiki

Подробная инструкция по работе с Git для студентов


1. Установка Git

  • Windows: Скачайте с официального сайта.
  • macOS:
    brew install git # через Homebrew или скачайте с сайта
    • Linux (Ubuntu/Debian):
      sudo apt-get update && sudo apt-get install git

2. Настройка Git (config)

Перед началом работы задайте имя и почту (они будут в коммитах): git config --global user.name "Ваше Имя" git config --global user.email "ваша@почта.com" Проверить настройки:git config --list


3. Создание репозитория (init)

Если проект новый: mkdir my-project cd my-project git init # создаст скрытую папку .git


4. Клонирование репозитория (clone)

Чтобы скопировать проект с GitHub: git clone https://github.com/username/repo-name.git cd repo-name


5. Работа с ветками

  • Создать ветку:
    git checkout -b feature/new-feature # создаст ветку и переключится на неё
    • Переключиться между ветками:
      git checkout main # перейти в main git checkout feature/new-feature # вернуться обратно
    • Удалить ветку:
      git branch -d feature/new-feature

6. Сохранение изменений (add, commit)

git add . # добавить все изменения git add file1.txt # добавить конкретный файл git commit -m "Описание изменений" # зафиксировать


7. Отправка изменений на сервер (push)

git push origin feature/new-feature # отправить ветку на GitHub


8. Обновление ветки

Если в main появились новые изменения, и вы хотите их добавить в свою ветку:

  • Способ 1: Merge
    git checkout main git pull origin main # обновить main git checkout feature/new-feature git merge main # влить изменения main в свою ветку
    • Способ 2: Rebase (история будет линейной)
      git checkout feature/new-feature git fetch origin # получить данные о изменениях git rebase origin/main # перебазировать ветку

9. Решение конфликтов

Если при слиянии возникли конфликты:

  1. Откройте файлы с конфликтами (Git пометит их).
  2. Удалите маркеры <<<<<<<, =======, >>>>>>> и оставьте нужный код.
  3. Сохраните файлы, затем: git add . # добавить исправленные файлы git rebase --continue # или git commit, если это merge

10. Работа с удалённым репозиторием (pull, fetch)

  • Обновить локальную ветку:
    git pull origin main # = git fetch + git merge
    • Просмотреть изменения с сервера:
      git fetch origin # скачать изменения, но не применять git diff origin/main # сравнить с локальной веткой

Примеры ситуаций

Ситуация 1: Обновить ветку после изменений в main

  1. Вы работаете в ветке feature/login.
  2. Кто-то обновил main, и вам нужны эти изменения.
  3. Выполните: git checkout main git pull origin main git checkout feature/login git merge main # или git rebase main

Ситуация 2: Создать репозиторий с нуляmkdir my-app

cd my-app git init echo "# My Project" > README.md git add README.md git commit -m "Initial commit" git remote add origin https://github.com/username/my-app.git git push -u origin main

Ситуация 3: Отмена изменений

  • Отменить незакоммиченные изменения:
    git checkout -- file.txt # вернуть файл к последнему коммиту
    • Удалить последний коммит (если не отправлен на сервер):
      git reset --soft HEAD~1 # оставить изменения в файлах git reset --hard HEAD~1 # удалить всё

Советы:

  1. Часто делайте git pull, чтобы не отставать от main.
  2. Пишите понятные сообщения коммитов.
  3. Используйте .gitignore для исключения ненужных файлов (например, node_modules/, .env).
  4. Перед отправкой на сервер проверяйте код через git diff.

Пример .gitignore

Создайте файл .gitignore в корне проекта и добавьте туда:# Игнорировать папки node_modules/ .env

Игнорировать файлы

*.log *.tmp