Git

Конфигурация .gitconfig

    git config –global user.name “Имя”
    git config --global user.email “Почта”

Чтобы посмотреть все установленные настройки и узнать где именно они заданы

    git config --list --show-origin

История изменений, .gitignore, и восстановление файлов

  • git log - покажет все коммиты
  • git log -1 - покажет последний коммит
  • git log -1 -p - покажет измения в коммите

Вернуть файл в первоначальное состояние

    git checkout -- file.txt
    =========или============
    git restore C.txt

Посмотреть разницу между последним коммитом что было добавлено (то что запишет в git log)

    git diff --staged

В .gitignore просто указать названия файлов и директорий

Создание и работа с ветками

  • git branch - покажет ветки
  • git branch develop - создать ветку develop
  • git branch -d develop - удалить ветку develop
  • git checkout develop - переключиться на ветку develop (с флагом -b создаст ветку и перейдет в нее сразу)
  • git merge develop - смержить изменения из develop в master

Чтобы удалить ветку, в которой были уже сделаны коммиты

    git branch -D test

Разрешение конфликтов

Оставить изменения файла из текущей ветки (в которую мержим)

    git checkout --ours file.txt

Оставить изменения файла из внешней ветки (из которой мержим в текущую)

    git checkout --theirs file.txt

Например:

    git merge develop
    git checkout --theirs file.txt
    git status
    cat file.txt
    git add .
    git commit
    git status
    git push

Возврат на предыдущие версии

Переключиться (осмотреться) на предыдущие коммиты

git checkout hash

С этого коммита можно создать новую ветку

    git switch -c develop-1

Чтобы вернуться назад:

    git switch -
    ======или======
    git checkout master

Перенос репы

Способ 1

  1. Склонировать репу
  2. git remote remove origin
  3. git remote add origin "УРЛ репы назначения"
  4. git push

Способ 2

    set repo=name-repo
    git clone --bare https://github/%repo%.git
    cd %repo%.git
    git push --mirror https://gitlab/%repo%.git