It’s not always possible to rely on your memory, and I think few people want to take risks when working with GIT, so for myself, and for you, I’m collecting basic GIT commands here, such as reverting to a commit, resetting files, saving to stash, etc.
By the way, I started writing detailed articles (with colorful pictures and simple explanations, as we like) on using GIT, so do not be too lazy to strike in the comment that you are interested.
** Everything that follows is written in triangular brackets <blabla>, this is user free text **
Общие частоиспользуемые команды.
git init // инициализация GIT в папке
git status // отображение всех изменений и неотслеживаемых файлов с момента предыдущего коммита
git log // список всех коммитов на ветке где ты находишься
Stash используется для того чтобы отложить вне ветки 'в тайник' ваши изменения.
Обычно это необходимо когда вы переключаетесь на новую задачу незакончив старую. GIT ругается что есть незакоммиченые изменения, но вы коммитить не хотите, тут и спасает stash, вы сохраняете изменения про запас, а когда нужно обратно 'вытаскиваете' и продолжаете работать над задачей. Заначка stash не относится к какой либо ветке, её можно применить где угодно.
git stash -a push -m 'заголовок сохранения' // -a - все файлы, даже ещё не отслеживаемые (новые), заголовок лучше тоже писать, так как потом будет легче найти этот сташ в списке
git stash save -a 'заголовок сохранения' // старая версия вышестоящей команды git stash push
git stash list // список сохранений в тайнике, требуется чтобы узнать номер нужной вам заначки. 0 - последний, 1,2,3...- более старые
git stash apply stash@{0} // возврат из тайника с указанием номера заначки, причем заначка не удаляется.
git stash pop stash@{0} // возврат из тайника с указанием номера заначки, причем заначка удаляется.
Всё что касается манипуляциями связанными с ветками.
git checkout -b <имя новой ветки> // создание новой ветки с введенным именем, и моментальный переход на неё
git branch // Список локальных веток
git branch -d <имя ветки> // Удаление локальной ветки по имени
git branch -m <старое имя ветки> <новое имя ветки> // Переименование локальной ветки
git branch -с <старое имя ветки> <новое имя ветки> // Копирование локальной ветки
git branch -u <имя ветки на remote репозитории> // связывает локальную ветку на который ты находишься, с веткой на удалённом репозитории, пишется полное имя, включая имя репозитория, например: 'git branch -u origin/develop'
Откат изменений, сброс отдельных файлов и тд.
git checkout <xэш коммита> // откатывает все изменения до указанного коммита (git log - для получения хэша нужного коммита)
git checkout <имя ветки> -- '*.md' // откатывает изменения до последнего коммита на указанной ветке для всех файлов с расширением .md
git checkout -- '*.md' // откатывает изменения до последнего коммита на данной ветке для всех файлов с расширением .md
Самое частоиспользуемое! Самые основные команды, для самых маленьких =)
git add . // добавить все измененные и отслеживаемые файлы в stage зону
git add '*.md' // добавить в stage зону файлы например только с разрещением .md (используй своё)
git add <путь к папке или файлу> // добавить в stage только определенные файлы в папке, или определенный файл, так же работает regex синтаксис
git commit -m 'заголовок для коммита' // создать коммит с сообщением
git commit -am 'заголовок для коммита' // добавить все измененные файлы в stage и создать коммит с сообщением, одной командой, оч. удобно!
Статья будет дополняться и исправляться, но это произойдет быстрее если ты напишешь злой комментик ! =)