Шпаргалка по Git для начинающих

Шпаргалка по Git для начинающих

Наши соц. сети: instagram, fb, tg

Умение пользоваться Git - очень полезный навык, который сейчас необходим любому разработчику. Пройдясь беглым взглядом по требованиям различных работодателей, можно легко заметить, что знакомство с Git важно чуть ли не так же, как и знание языков программирования. К сожалению, многие соискатели упускают этот нюанс. Поэтому сегодня мы познакомимся с этим зверем поближе. Для этого мы подготовили для тебя шпаргалку, которая на первых порах поможет ориентироваться в командах, ветках, репозиториях и прочих анатомических структурах этого невиданного чудища. Однако все по порядку. Для начала разберемся с основными понятиями.

Терминология

Репозиторий - хранилище, где находятся все файлы нашего проекта, включая все изменения и ветки.

Ветка - копия репозитория, содержащая конкретную версию.

Коммит - одно конкретное сохранение изменений в конкретной ветке.

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

Мастер - основная ветка репозитория.

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

Форк - копия репозитория.

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

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

git init | git init [folder]

Инициализирует пустой репозиторий. В качестве параметра можно указать путь к папке (по умолчанию репозиторий будет инициализирован в текущей папке). Пустой репозиторий может быть использован в новом проекте или в уже существующем.

git clone [repo URL] [folder]

Копирует репозиторий в указанную папку. В параметре можем указать путь к папке, по умолчанию же он будет создан в текущей. Если хотим скопировать репозиторий в другое место – добавляем путь к папке в качестве второго параметра.

git add [directory | file]

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

git commit -m "[message]"

Фиксирует все поэтапные изменения, когда пользовательское сообщение передается в виде строки. Изменив параметр -m на -am, можно сразу добавлять и фиксировать изменения.

git push

Отправляет изменения в ветку источника.

git status

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

git log

По умолчанию отображает историю изменений.

git diff

Показывает все незафиксированные различия между проиндексированным и текущим каталогом. Эта команда может использоваться и с зафиксированными различиями для отображения различий между промежуточными файлами и самыми последними версиями. Другой вариант - использовать команду с именем файла для отображения различий между файлом и последним коммитом.

git pull

Позволяет получить изменения из исходной ветки и объединить их с локальной.

git fetch

Получает последние изменения из ветки источника (в отличии от git pull не объединяет ветки).

Команды Git для веток

git branch

Отображает список всех веток репозитория. Если в качестве параметра добавить имя ветки – создает новую.

git branch -d [branchname]

Удалит ветку с указанным именем.

git checkout [branchname]

Переход на ветку с именем, указанным в параметре. Если добавить -b перед именем ветки, перейдем к новой ветке, созданной автоматически.

git merge [branchname]

Объединяет указанную ветку с текущей.

Команды, отменяющие изменения

[git revert [commit]

Создает новый коммит, который отменяет изменения, внесенные в указанном коммите, и применяет его к текущей ветке.

git reset [filename]

Отменяет фиксацию файла, оставляя рабочий каталог без изменений.

Команды для настройки Git

git config -global user.email [user_email]
git config -global user.name [user_name]

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

 git config --global –edit

Позволяет редактировать конфигурацию пользователя в текстовом редакторе.

Графические интерфейсы Git

Не всем нравится использовать git в командной строке. Да и зачем изощряться, когда можно найти графический интерфейс по вкусу? Рассмотрим несколько наиболее популярных из них.

Sourcetree

Sorucetree - графический интерфейс git, доступный для Mac и Windows, и он бесплатный. Мне очень нравится его пользовательский интерфейс, и он делает использование git намного проще для меня, так как я вижу все изменения очень четко.

Tower

Tower - еще один замечательный инструмент, который может сделать контроль версий более приятным и простым. Он также доступен для Mac и Windows. Этот не бесплатный, но есть бесплатная пробная версия – так что при желании можно попробовать.

Github Desktop

Github Desktop - еще один конкурентный инструмент, позволяющий нам использовать git приятным и удобным для пользователя способом. Он также доступен как для Mac, так и для Windows. Кроме того, это приложение с открытым исходным кодом, и его можно использовать бесплатно.

В сухом остатке:

Итак, товарищи разработчики, а что же по итогу? А по итогу мы познакомились с основными понятиями и терминами git, без которых не обойтись; освоили самые важные и нужные его команды, а также рассмотрели несколько графических интерфейсов под него, что может быть очень полезно, особенно на начальных этапах работы с git. Надеюсь статья была полезна для вас!

Приятного кодинга!