Git записки


git init # Инициализация

# Configuration
git config --list
git config credential.helper "" # удалить учетные данные
git config --global credential.helper store # Сохранить глобально учетные данные
git config --global user.email "YOUR@MAIL.BOX" # имейл
git config --global user.name "YOUR NAME" # имя

# Remote work
git remote add origin https://gitlab.com/dev_name/git_name.git # добавить удаленный репозиторий
git clone https://gitlab.com/dev_name/git_name.git # клонировать существующий репозиторий

git fetch --all # Получить все ветки
git pull origin master --no-rebase -f # Пул мастера мерджем с перезаписью локальных правок
git push --set-upstream origin BRANCH_NAME # Залить новую ветку на сервер


# Local
git add FILE_NAME # добавить в staged, add . - добавление всех изменений
git commit # создание коммита
git status # посмотреть состояние
git diff FILE_NAME # посмотреть изменения в файле от коммита
git diff branch # посмотреть разницу между текущей и указанной веткой
git restore FILENAME # откатить правки до коммита

git merge BRANCH_MERGE_FROM # Мердж в текучую ветку из другой
git rebase

git checkout BRANCH_NAME # смена текущей ветки
git checkout -b BRANCH_NAME # Создать и перейти на ветку
git checkout -f master # Находясь в мастер сброс состояния 

git reset --soft # сброс состояния
git reset --hard # сброс состояния и файлов
git reset --soft HEAD~1 # отменить последний комит

git log --color --graph --decorate # посмотреть историю в цевете с ветвлением

git rm --cached $filename # переместить файл в untracked
git branch -m  # переименовывание ветки


# Source (two branches)
A---B---C  main
       \     
        D---E---F  feature

# Merge       
A---B---C---------M  main
       \         /
        D---E---F  feature
      
# Rebase
A---B---C---D'---E'---F'  main


назад