/////////////////////// //Первые настройки /////////////////////// git config --global user.name "John Doe" git config --global user.email johndoe@example.com git config --list --global //////////////////////// //Основные команды //////////////////////// git clone ссылка_на_репозиторий //чтобы скачать все файлы в текущую папку (в консоле) git clone ссылка_на_репозиторий название_папки //свое название папки cd папка_на_компьютере //чтобы использовать другие команды git status //выводит все файлы в папке git add имя_файла //чтобы добавить файл git commit -m "Add index.html" //указать какие изменения были произведены git push //залить все файлы на облако (после коммита) git pull //скачать все файлы которых нехватает git add -A //подтвердить все файлы или git add . git commit -m "Made some changes" //сделал некие изменения git //информация по командам //Коммитятся только добавленные через add файлы если надо выйти из окна commit выйти ESC, напить :wq и нажать Enter //Загрузить локальынй репозиторий на онлайн репозитори github// git init git add your_file git commit -m "first commit" git remote add origin https://github.com/you_repository/you_project git push -u origin master /////////////////// //Отмена изменения /////////////////// //Отменить изменения до команды add git checkout -- index.html //один файл git checkout -- . //все файлы //Отменить изменнеия после команды add git reset index.html //один файл git reset . //все файлы //Отменить изменения после команды commit git reset --soft HEAD^1 //сбросить на 1 комминт назад и сохранить все изменнеия локально git reset --hard HEAD^1 //сброситься и удалить все изменения git log -5 //посмотреть последние пять коммитов git log --oneline --graph --decorate --all //для удобного просмотра коммитов //////////////////////////// //Команды pull, fetch, merge //////////////////////////// git push origin HEAD git pull = git fetch + git merge // git fetch origin // имя папки вместо origin git merge origin/master //объединить ветки ///////////////////////// //Ветвление ///////////////////////// git branch //посмотреть ветки, со звездочкой - текущая git branch -v //посмотреть ветки, и последние коммиты в них git branch название_новой_ветки //создать ветку git checkout название_ветки //переключиться на другую ветку git checkout -b fix_about //Создать ветку и перейти к ней git push --set-upstream origin название_ветки //залить на github в нужную ветку git branch -m new_some_branch //переименовать текущую ветку git checkout номер_коммита //перейти к нужному коммиту git checkout -b название_ветки //создать ветку с выбранного ранее коммита ////////////////////////// //Объединение веток ////////////////////////// git checkout master //перейти на ветку master git merge название_ветки //объединить ветки git branch --merged //посмотреть все объединенные ветки git branch --no-merged //посмотреть все не объединенные ветки git branch -d название_ветки //удалить ветку или -D чтобы удалить не смерженую ветку ////////////////////////// //Отмена слияния веток ////////////////////////// git reset --hard HEAD^1 //отменить последнее действие git revert код_коммита //вернуться к коммиту git revert код_коммита1^..код_коммита2 //отменить диапазон коммитов git revert -m 1 коммит_мерджа ////////////////////////// //Перенос коммита в другую ветку ////////////////////////// git checkout название_ветки //Перейти туда куда будем вставлять изменения git cherry-pick код_коммита1 код_коммита2 //Добаляем нужный коммит в текущую ветку (через пробел) //Можно создать новую ветку с текущего места, а в ветке master удалить один коммит /////////////////// //Алиасы - C:\Users\ismail\.gitconfig /////////////////// s = status --short st = status l = log --oneline --graph --decorate --all g = log --graph --abbrev-commit --decorate --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(dim white) - %an%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n %C(white)%s%C(reset)' br = branch co = checkout //////////////////// //Скрыть изменения //////////////////// git stash //если есть измененные файлы и надо перейти на другую ветку git stash list //показать что скрыто git stash apply //востановить последний стэш (останется в списке стэшей) /не работает/git stash pop stash@{номер_стэша}//востановить последний стэш и убрать его из списка /не работает/git stash drop stash@{номер_стэша}//удалить указанный стэш git stash clear //удалить все записи стэша /////////////////// //Добавить ветку в конец другой /////////////////// git rebase имя_ветки git rebase --onto имя_ветки_куда имя_ветки_начала имя_ветки_куда git rebase --continue git rebase -i HEAD~6 //интерактивный ребэйс на 6 коммитов //////////////////// //Доп. команды //////////////////// git rm //посмотреть файлы git rm имя_файла //удалить нужынй файл git mv имя_файла имя_каталога/имя_файла //переместить файл в каталог git add *.txt //добавить все файлы txt git show код_коммита //посомтреть изменения в коммите git add любые_символы*.txt //добавить все файлы любые_символы.txt