13/08/2019
Уровень проникновения инфраструктуры Git, GitHub, GitLab в ITшную работу и жизнь просто колосальный. С этими системами приходится сталкиваться постоянно в том или ином виде. Утилита git в современных операционных системах идет, как правило, предустановленной. При желании или необходимости она легко устанавливается из исходников или различных репозитариев. Git – сегодня представляет не просто фреймворк для системы контроля версия, а целую философию и своеобразную экосистему для всех разновидностей программного кода. Для того, чтобы нормально работать с этой платформой нужны определенные базовые знания. Составил для себя основные команды утилиты git, которые применяются в работе. Для ведения локальной разработки этих возможностей на первом этапе будет достаточно.
Полезные команды
Полезные, каждодневно востребованные команды утилиты git, привожу ниже по тексту. С каждой командой идет краткое описание. Кроме того, что описывается в данной статье, есть множество вариантов использования утилиты git с различыми параметрами. Вся экосистема Git очень обширна. Для полноценного детального освоения везде советуют хорошенько проштудировать книгу Pro Git. Мы не будем тут уходить в эти дебри и остановимся на основных моментах, которые пригодятся начинающим при работе с данной утилитой контроля версий.
# git clone https://github.com/someuser/someproject
Данная команда наиболее часто используемая и востребованная в работе многих инженеров и программистов. Она позволяет скопировать проект с удаленного репозитария на локальный компьютер. В этом случае мы копируем проект по ссыкле на удаленном сервере – https://github.com/someuser/someproject. Репозитарий может быть как публичный, так и приватный. Мы можем использовать эту команду для того, чтобы начать у себя на компьютер работу над каким-то проектом. Но, можем и просто скопировать готовый проект и использовать его как конечные пользователи.
# git init
Эта команда используется в случае первоначального создания репозитария на локальном компьютере разработчика. Перед ее выполнением необходимо переместиться в директорию, которая будет содержать файлы проекта. Если до инициализации проекта что-то было наработано, то надо будет выполнить комманды git add & git commit.
# git branch -a
Приведенная выше команда позволяет отобразить названия всех веток кода, как локальных, так и расположенных на удаленном сервере. Обладая этой информацией, можно, используя комбинацию #git checkout, выбрать нужную ветку, в которой проводить работу над конкретной версией проекта. Бывает очень полезна, когда Вы какое-то время не обращались к конкретному проекту и хотите вспомнить над какой конкретно версией работаете локально.
# git checkout master
Такой комбинацией Вы перейдете на локальной машине к версии Вашего кода с названием master. С помощью этой команды можно переключаться между различными версиями кода, которые хранятся на компьютере разработчика. При этом нет необходимости каждый раз что-то скачивать с центрального сервера для продолжения работы над кодом.
# git add --all
При работе над проектом периодически приходится добавлять новые файлы с тем или иным содержимым. Для того, чтобы в Git эти файлы добавились в общую структуру проекта необходимо выполнить команду #git add -all. В ответ будет предложено выбрать те файлы, которые стоит добавить к проекту. Раскоментировав соответствующие строки и завершив выполнение команды, мы выполним первый шаг по обновлению состояния ветки Git. После этого необходимо выполнить commit, который обеспечивает подтверждение изменений, произведенных над файлами. Описание этой процедуры ниже.
# git commit --all
С помощью данной команды Вы подтверждаете все изменения, которые делали в файлах в текущей ветке проекта. После этого локальная копия файлов, хранящихся на компьютере, считается актуальной. Если при этом были добавлены новые файлы – то необходимо предварительно выполнить команду #git add.
# git push origin master
Данная команда отправляет на сервер Git обновления и изменения, которые были произведены нами в проекте в ветке master, а также были закомичены с помощью комманды git commit. Если изменения производились, но коммита не было – соответственно на удаленном сервере никаких модификаций производиться не будет. Эта команда одно из основных взаимосвязывающих звеньев, работающих в исходящем направлении со стороны клиента. С помощью нее мы можем воздействовать на содержимое централизованного репозитария.
# git pull
Противоположная по направлению действия команда по сравнению с предыдущей. Тут уже передаются изменения с центрального репозитария на компьютер разработчика. После того, как изменения переданы по сети, они сливаются с данными, которые хранились локально. Команда очень схожа с # git fetch. Но fetch только записывает данные из центрального сервера на локальное хранилище, при этом не происходит слияние с имеющимися данными.
Заключение
В этой статье собрал базовые команды утилиты Git, которые потребуются каждому в повседневной работе. Изучение и понимание инфраструктуры вокруг Git этим конечно же не ограничивается. Но, с помощью этой небольшой шпаргалки, можно комфортно себя чувствовать, работая локально с использованием Git. Основные задачи, которые возникают в процессе каждодневной работы, вышеизложенная информация покрывает.