article.title

Шпаргалка по GIT: самые полезные команды!

Полагаться на свою память не всегда можно, а рисковать при работе с GIT думаю мало кому хочется, поэтому для себя, и для вас, собираю тут основные команды GIT, такие как возврат к коммиту, сброс файлов, сохранение в stash и тд.


Кстати я начал писать подробные статьи (с красочными картинками и простыми объяснениями, как мы любим) по использованию GIT, поэтому не поленись чиркануть в комменте что тебе это интересно.

**Всё что далее записывается в треугльных скобках <блабла>, это свободный текст пользователя **

Общие

Общие частоиспользуемые команды.

git init // инициализация GIT в папке
git status // отображение всех изменений и неотслеживаемых файлов с момента предыдущего коммита
git log // список всех коммитов на ветке где ты находишься

Stash

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} // возврат из тайника с указанием номера заначки, причем заначка удаляется.

Branch

Всё что касается манипуляциями связанными с ветками.

git checkout -b <имя новой ветки> // создание новой ветки с введенным именем, и моментальный переход на неё
git branch // Список локальных веток
git branch -d <имя ветки> // Удаление локальной ветки по имени
git branch -m <старое имя ветки> <новое имя ветки> // Переименование локальной ветки
git branch -с <старое имя ветки> <новое имя ветки> // Копирование локальной ветки
git branch -u <имя ветки на remote репозитории> // связывает локальную ветку на который ты находишься, с веткой на удалённом репозитории, пишется полное имя, включая имя репозитория,  например: 'git branch -u origin/develop'

Checkout

Откат изменений, сброс отдельных файлов и тд.

git checkout <xэш коммита> // откатывает все изменения до указанного коммита  (git log - для получения хэша нужного коммита)
git checkout <имя ветки> -- '*.md' // откатывает изменения до последнего коммита на указанной ветке для всех файлов с расширением .md
git checkout -- '*.md' // откатывает изменения до последнего коммита на данной ветке для всех файлов с расширением .md

Add, Commit, Reset

Самое частоиспользуемое! Самые основные команды, для самых маленьких =)

git add . // добавить все измененные и отслеживаемые файлы в stage зону
git add '*.md' // добавить в stage зону файлы например только с разрещением .md  (используй своё)
git add <путь к папке или файлу> // добавить в stage только определенные файлы в папке, или определенный файл, так же работает regex синтаксис
git commit -m 'заголовок для коммита' // создать коммит с сообщением
git commit -am 'заголовок для коммита' // добавить все измененные файлы в stage и создать коммит с сообщением, одной командой, оч. удобно!

Статья будет дополняться и исправляться, но это произойдет быстрее если ты напишешь злой комментик ! =)


Комментариев пока что ниту, может ты чирканёшь первый, мне будет очень приятно!=)