FAQ

Git шпаргалка

Git – очень полезный навык, который необходим во многих компаниях.

Просматривая предложения работы для разработчиков программного обеспечения, вы понимаете, что знание git почти так же важно, как и знание реального языка программирования.

Но многие люди забывают проверить, как работает git и какие команды отвечают за какие действия.

Вот почему сегодня я решил создать простую шпаргалку с основными командами git, которые вы можете просмотреть и использовать всякий раз, когда вы просто забыли, что нужно поместить в командную строку или просто обновить память.

Кроме того, я хотел бы обозначить несколько основных терминов, которые должен знать каждый разработчик, чтобы понять git-flow.

В конце я также расскажу вам о графических интерфейсах для git, которые я использовал некоторое время назад или использую прямо сейчас, и которые мне действительно нравятся из-за их простоты.

Несколько основных терминов, помогающих понять команды git

repository ( репозиторий) хранит все файлы вашего проекта, включая коммиты и ветки.

branch (ветка) представляет собой копию репозитория, содержащего конкретную версию. Основная ветка в git это master.

commit может быть представлен как единое сохранение изменений в конкретной ветке.

checkout – это операция переключения между текущей веткой и той, которая указана в команде.

master является основной веткой репозитория

merge – это действие, которое добавляет изменения из одной ветки в другую.

fork является копией репозитория.

head – это самый последний коммит репозитория, с которым вы работаете.

Основные команды git, которые должен знать каждый

git init | git init [folder]

Git init используется для инициализации пустого репозитория из папки, в которой вы используете эту команду или по пути к папке – оба способа верны.
 
Команда используется при запуске нового проекта или если вы хотите инициализировать git-репозиторий внутри существующего проекта.
 
git clone [repo URL] [folder]
 
Git clone используется для копирования существующего репозитория в указанную папку на вашем компьютере.
 
Git clone может использоваться только с URL репозитория в качестве параметра, и тогда он скопирует репозиторий в папку, из которой вы использовали команду.
 
Если вы хотите скопировать репо в другое место на вашем компьютере, добавьте путь к папке в качестве второго параметра.
 
git add [directory | file]
 
Git add – это этап изменения в каталоге или в файле, и это зависит от того, что вы добавляете в качестве параметра.
 
В большинстве случаев за ним следуют команды git commit и git push.
 
git commit -m "[message]"
 
Эта команда используется для фиксации всех поэтапных изменений, когда пользовательское сообщение передается в виде строки.
 
Изменяя параметр -m на -am, можно сразу добавлять и фиксировать изменения.
 
git push
 
Это команда, которая отправляет изменения в исходную ветку.
 
git status
 
Git status используется для проверки состояния измененных файлов и показывает, какие файлы помещены, не установлены и не отслежены.
 
git log
 
Git log используется для отображения истории коммита в формате по умолчанию.
 
git diff
 
Git diff показывает все неустановленные различия между индексом и текущим каталогом.
 
Эта команда может использоваться с -staged для отображения различий между промежуточными файлами и самыми последними версиями.
 
Другой вариант – использовать команду с именем файла для отображения различий между файлом и последним коммитом.
 
git pull
 
Git pull используется для получения изменений из исходной ветки и объединяет их с локальной веткой.
 
git fetch
 
Эта команда извлекает самые последние изменения из ветки источника, но не объединяет.
Команды Git Branch

git branch

Эта команда отображает список всех веток в репозитории.
 
Она также может создать несуществующую ветвь, если вы добавите имя ветки в качестве параметра.
 
git branch -d [branchname]
 
Использование флага -d удалит ветку с указанным именем.
 
git checkout [branchname]
 
Эта команда переключается на ветку с именем [branchnamed].
 
Если вы добавите флаг -b перед именем ветки, он перейдет к новой ветке, которая будет создана автоматически.
 
git merge [branchname]
 
Команда объединяет ветку с указанным именем в текущую ветку.

Git отмена изменений

git revert [commit]

Эта команда создает новый коммит, который отменяет изменения, внесенные в указанный коммит, и применяет его к текущей ветке.
 
git reset [filename]
 
Команда удаленно указывает файл из промежуточной ветки и оставляет рабочий каталог без изменений.

Команды Git config

git config -global user.email [user_email]

git config -global user.name [user_name]

Команды, показанные выше используются для настройки текущей электронной почты и имени пользователя.

git config --global --edit

И эта команда очень полезна, так как она позволяет редактировать настройки пользователя в текстовом редакторе.