Мой набор команд при работе с git
октябрь
11
, 2016
Всегда был сторонником работы с git в командной строке. Думаю, это помогает лучше понимать этот инструмент, а также позволяет не зависеть от GUI IDE. В статье я приведу набор команд, которыми приходится пользоваться при работе с git и кратко поясню их назначение.
Список дополняется...
Базовые операции с репозиторием
Инициализировать репозиторий
git init
Добавить удаленный репозиторий
git remote add origin git@bitbucket.org:username/project.git
Клонировать репозиторий с сервера
git clone git@bitbucket.org:username/project.git
Статус
Смотрим, что с рабочими файлами
git status
Добавляем и исключаем файлы
Добавляем file.js
git add file.js
Добавляем все файлы
git add .
Ресет file.js
git reset file.js
Ресет всех файлов
git reset .
Изменения
Смотрим изменения
git diff
Смотрим изменения в file.js
git diff file.js
Делаем коммиты
Делаем коммит
git commit -m 'commit message'
Делаем коммит, сразу добавив все файлы
git commit -a -m 'commit message'
Перезаписываем последний коммит
git commit --amend -m 'new commit message'
Ресет последнего коммита
git reset --soft HEAD^
Управляем ветками
Смотрим локальные ветки
git branch
Смотрим локальные и удаленные ветки
git branch -a
Переключаемся на мастер
git checkout master
Создаем новую ветку и переключаемся на нее
git checkout -b new_branch
Создаем локальную ветку как копию с удаленного сервера
git checkout -b new_branch origin/new_branch
Удаляем локальную ветку (пустую или влитую в мастер)
git branch -d new_branch
Просто удаляем локальную ветку
git branch -D new branch
Удаляем ветку с сервера
git push origin :new_branch
Подтягиваем изменения ветки мастер
git pull --rebase origin master
Подтягиваем изменения с сервера
Подтягиваем все изменения с сервера, не вливая их
git fetch
Пушим ветку
git push origin new_branch
Пушим ветку с перезаписью истории коммитов (только когда хорошо понимаете, что делаете)
git push -f origin new_branch
Слияние веток
Просто мерджим ветку
git merge new_branch
Мерджим ветку с созданием мердж-коммита
git merge --no-ff new_branch
Ребейзимся от мастера
git rebase master
Работаем со стэшем
Стэшим изменения
git stash
Вытаскиваем последние изменения из стэша
git stash pop
Смотрим список стэша
git stash list
Очищаем стэш
git stash clear
Вытаскиваем конкретные изменения из стэша
git stash apply stash@{2}
История
Смотрим историю
git log
Смотрим историю с изменениями в файлах
git log -p
История коммитов в одну строку
git log --oneline
История коммитов в виде дерева
git log --stat --graph
Кто работал с файлом
git blame file.js
git cherry
Как далеко разъехалась ветка с мастером
git cherry master
Как далеко разъехалась ветка с удаленным мастером
git cherry origin/master
Флаг -v, больше информации
git cherry -v master
На сколько коммитов ветка уехала от мастера
git cherry master | wc -l
cherry-pick
Копируем коммит в текущую ветку
git cherry-pick hash_commit
git rebase --interactive
git rebase -i HEAD~5
Все статьи о git
- Курс "Git для начинающих". Видеоуроки
- Git merge vs rebase для начинающих
- Git fork. Что такое форки и как с ними работать
- Как я перестал бояться и полюбил git
- Git bisect. Ищем баги с помощью гита
- 12 причин работать с гитом в командной строке
- Как склеить коммиты в git
- Мой набор команд при работе с git
- Как работать с git в Modx
- Как установить git в Linux Mint
- Визуализация истории git с помощью Gource
Заходите в группу в контакте -
https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Истории из жизни айти и обсуждение кода.