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