Categories: Технологии

Что такое Git и Github – руководство для начинающих

Жизнь программиста – это не только сидение в одиночку в темной комнате, которая освещается лишь светом монитора. Это еще и общение с другими программистами, социальное участие в различных сообществах. Вот почему появились на свет и стали популярными такие вещи как Git и Github.

Git – это программное обеспечение для контроля версий, которое делает сотрудничество с коллегами по команде очень простым. Простым, как только вы пройдете начальную стадию обучения. И сегодняшняя статья предназначена для начинающих, которые хотят узнать основы работы с Git и Github.

 

 

Что такое Git?

Git – это программное обеспечение для контроля версий. Он был создан Линусом Торвальдсом (парнем, который изобрел Linux). Вам не нужно использовать Linux, чтобы использования git – он также работает на Windows и Mac.

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

Git является особенным (и в значительной степени обязательным), потому что вы можете вернуться к любой предыдущей версии вашего кода, перейти на другую ветку и разработать определенную функцию, не затрагивая что-либо или кого-либо еще, и исключить возможность повреждения данных из-за их распределения.

Он также обеспечивает легко реализуемое шифрование, а также асинхронные, нелинейные рабочие процессы, так что независимо от того, где вы находитесь, вы можете работать с нужными разделами вашего проекта.

 

 

Словарь терминов, связанных с Git

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

 

Репозиторий (repository)

Часто упоминается как репо. Репозиторий – это коллекция файлов и папок, которые вы используете для отслеживания git. Репозиторий состоит из всей истории изменений вашей команды в проекте. Это тот большой склад, на котором хранится код, который добавили вы и ваша команда.

 

 

Github

Самое популярное удаленное хранилище для git-репозиториев. Особенности: он позволяет вам устанавливать права доступа к проектам, отслеживать и отправлять ошибки, принимать запросы на улучшения, подписываться на уведомления репозитория, использовать графический интерфейс, а не командную строку. Репо по умолчанию открытые, но платные аккаунты могут иметь приватные репозитории.

 

 

Фиксация (commit)

Думайте об этом как о сохранении вашей работы. Когда вы фиксируете репозиторий, это похоже на то, что вы собираете файлы в том виде, в котором они существуют в данный момент, и помещаете их в капсулу времени. Фиксация будет существовать только на вашем локальном компьютере, пока она не будет отправлена ​​на удаленный репозиторий.

 

 

Отправка (push)

Фиксация помещает ваши файлы в капсулу времени, а отправка – это то, что запускает капсулу в космос. Отправка – это, по сути, синхронизация ваших сохранений (фиксаций, коммитов) с облаком (опять же, вероятно, Github). Вы также можете использовать несколько коммитов одновременно. Вы можете работать в автономном режиме, сделать много работы, а затем передать все это на Github.

 

 

Ветка (branch)

Представьте свой git-репо в виде дереве. Ствол дерева, программное обеспечение, которое запускается, называется мастер-веткой (Master Branch). Это то, что доступно онлайн. Ветви этого дерева называются, как ни странно, ветвями. Это отдельные экземпляры кода, который отличается от основной базы кода. Вы можете ответвить одну функцию или экспериментальный патч. Разветвляясь, вы можете сохранить целостность основного программного обеспечения и иметь возможность откатиться, если сделаете что-то совершенно безумное. Это также позволяет вам работать над своей задачей, не влияя на вашу команду (или она на вас).

 

 

Объединение (merge)

Когда ветвь исправлена, не содержит ошибок (насколько вы можете судить, по крайней мере) и готова стать частью первичной базы кода, она будет объединена с главной веткой. Объединение – это то, на что это похоже: слияние двух ветвей. Любой новый или обновленный код станет официальной частью кодовой базы. Любой, кто ответвляется от точки слияния, также будет иметь этот код в своей ветви.

 

 

Клонирование (clone)

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

 

 

Ответвление (fork)

Форкинг во многом похож на клонирование, только вместо того, чтобы делать копию существующего репо на вашем локальном компьютере, вы получаете совершенно новый репо этого кода под своим собственным именем. Эта функция в основном используется для взятия существующей кодовой базы и переход с ней в совершенно новом направлении, что часто случается в программном обеспечении с открытым исходным кодом; разработчики видят базовую идею, которая работает, но хотят пойти другим путем. Форкинг позволяет этому случиться. Вы также можете поучаствовать в репозитории другого разработчика, как в своей личной песочнице. И если вы делаете что-то, что, по вашему мнению, может ему понравиться, вы можете сделать предварительный запрос на объединение.

 

 

Запрос на подтверждение (Pull Request)

Запрос на подтверждение – это когда вы отправляете запрос с внесенными вами изменениями (либо в ветке, либо в ответвлении), которые должны быть перенесены (или объединены) в основную ветвь (Master Branch) репозитория. Это великий час, и здесь происходит волшебство. Если запрос на подтверждение будет одобрен, вы официально внесете свой вклад в программное обеспечение, и Github всегда будет показывать, что именно вы сделали. Однако, если запрос отклоняется по какой-либо причине, ревизор сможет дать отзыв о том, почему запрос был отклонен и что вы можете сделать, чтобы он был принят.

 

 

 

Начало работы с Git и необходимые команды

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

В данном уроке мы предполагаем, что вы используете командную строку для взаимодействия с git. Конечно, для этого есть и git-клиенты с графическим интерфейсом (и Github даже позволяет вам делать практически все через свой веб-интерфейс), но здесь мы это рассматривать не будем. Основы работы с терминалом или командной строкой описаны здесь.

 

 

Как установить Git

К счастью, установить git очень просто, независимо от того, работаете ли вы на Linux, Mac или Windows.

Для Linux откройте терминал и введите команду sudo apt-get install git-all (если вы находитесь в Ubuntu).

В Windows все просто. Вы скачиваете установщик и запускаете его.

На Mac вам просто нужно открыть терминал и набрать git. Если git не установлен, вы увидите предложение установить его. Нажмите кнопку Установить, и все готово.

Видите? Все очень просто!

 

 

Как использовать Git

Здесь начинается самое интересное. Теперь, когда у вас установлен git, пришло время немного покопаться и научиться использовать его. А с чего лучше начать, если не с Github?

Поэтому зайдите и зарегистрируйте свою новую учетную запись на Github (или войдите, если она у вас уже есть).

Github бесплатен для публичных репозиториев, но вы можете иметь приватные (но за деньги). По большей части бесплатный вариант на Github подходит для большинства людей. Но некоторым клиентам и работодателям требуется конфиденциальность и безопасность, поэтому хорошо иметь и такой вариант.

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

Сначала вам нужно настроить хранилище в Github. Вы можете сделать это на своем компьютере, а затем загрузить его, но проще сначала сделать это в Интернете. Нажмите кнопку Создать новый репозиторий (Create a new repository) или же Начать проект (Start a project) на сайте.

Заполните форму и нажмите кнопку Создать репозиторий (Create repository).

Теперь, когда репозиторий существует на Github, пришло время перенести его на локальный компьютер с помощью клонирования. Справа от вашего репо, чуть выше списка файлов, вы увидите зеленую кнопку с надписью Клонировать или загрузить (Clone or Download). Нажмите на нее, и вы увидите возможные варианты загрузки: Открыть на компьютере (если вы уже установили git или GitHub Desktop), а также Загрузить ZIP. Выберите нужный вариант.

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

Первая команда, которую вам нужно выучить, это ls. Она покажет перечень всего в текущем каталоге.

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

Затем перейдите в новый каталог с помощью команды cd dev, которая является командой для изменения текущего каталога. Если вам нужно вернуться в предыдущий каталог, просто используйте команду cd .. (две точки).

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

Начните с копирования URL-адреса, который появляется после нажатия зеленой кнопки Клонировать или скачать на Github. Этот адрес будет выглядеть примерно так: https://github.com/SebWeo/test.git

 

 

Команды для клонирования Git-репозитория из Github:

git clone https://github.com/SebWeo/test.git
ls
cd firstrepo – или как вы назвали свой репо
ls

 

После этого ваш терминал должен показать файл README, который вы настроили на Github. Поздравляем! Вы воспользовались Git первый раз, и теперь вы готовы начать разработку.

 

 

Основы работы с репо на локальной машине

Теперь, когда у вас есть репо на вашей машине, вам нужно научиться им пользоваться. Итак, давайте перенесемся немного вперед во времени и скажем, что вы некоторое время работали над классным проектом и у вас есть несколько файлов в каталоге. Пришло время зафиксировать и отправить их на Github.

 

Добавление и фиксация в Git-репозитории

  • git status – эта команда покажет вам, какие файлы не были добавлены в список для следующей фиксации. В большинстве терминальных приложений не добавленные/добавленные файлы будут красного/зеленого цвета соответственно.
  • git add . – добавив точку в конце команды, вы говорите git включить все в каталоге. Если вы хотите добавить один файл, просто используйте его имя вместо точки.
  • git commit -m "краткое сообщение" – когда вы фиксируете эти файлы, вы также должны оставить краткое сообщение (заметку), чтобы ваши коллеги по команде точно знали, что было в этом коммите. Стандартные соглашения git говорят, что вы должны быть как можно более краткими и конкретными и начинать сообщение, используя настоящее время глагола. Эти заметки видны на Github в перечне файлов.

 

 

Отправка на удаленный Git-репозиторий, такой как Github

Используйте следующие команды:

  • git status – вы всегда должны проверять, как все выглядит, и убедиться, что вы находитесь на правильной ветке.
  • git push
  • Введите ваше имя пользователя и пароль для Github. Имейте в виду, что поле пароля будет оставаться пустым даже при вводе. Все в порядке. Просто наберите его и нажмите Enter. Если вы используете SSH, у вас не будет этого шага.

 

Вы можете зайти в свою учетную запись Github и проверить репо, и ваши файлы будут там, включая краткие сообщения!

 

 

Ветвление и слияние

Последние две команды, с которыми вы должны быть знакомы, связаны с ветвлением и слиянием. Как мы уже говорили выше, работа над веткой сохраняет основную кодовую базу в безопасности, и, как только ваши изменения окажутся полезными, вы можете объединить их все вместе.

Вот примеры команд:

  • git checkout -b "branch1" – эта команда создаст новую ветвь (с именем branch1), и переключит вас на нее как на рабочую ветку. Эта команда объединяет команды git checkout и git branch в одну удобную строку кода.
  • touch some.html – это простая команда создания нового HTML-файла.
  • git status
  • git add some.html
  • git commit -m "create some.html"
  • git status – снова убедитесь, что все в порядке.

 

 

Вы можете переключиться обратно на основную ветку с помощью команды git checkout master (на этот раз без checkout -b).

 

  • git status – как всегда.
  • git merge branch1 – поскольку все в этой ветке в порядке, мы можем идти дальше и заняться объединением.
  • git push – команда для синхронизации.

 

 

Проверьте свою учетную запись Github – вы увидите, что все, что вы сделали, отражается там. Вы можете увидеть различные сообщения: количество веток и коммитов, которые вы сделали, а также всех участников (contributor) репо и того, что они сделали.

 

 

 

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

Спасибо, что читаете нас!

 

Recent Posts

Как выбрать мастера для перетяжки мебели?

Выбор мастера для ремонта и перетяжки мебели — задача, которая требует вдумчивого подхода. Ведь от…

2 дня ago

Что лучше выбрать для хостинга: сервер VPS Windows или VPS Linux?

Выбор идеального хостинга под свой сайт может быть довольно запутанным делом, особенно когда существует так…

1 неделя ago

Лоуренс Питер

Чтобы избегать ошибок, нужно набираться опыта; чтобы набираться опыта, надо делать ошибки Лоуренс Питер  

2 недели ago

Что такое Черное СЕО (Black Hat SEO) — вся нужная информация

Краткое определение Черного SEO Черное СЕО (или Черная оптимизация) — это любая практика, целью которой…

2 недели ago

Права категории C: кому они нужны и как их получить?

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

3 недели ago

Уилл Смит

Хорошие люди принесут вам счастье, плохие люди наградят вас опытом, худшие — дадут вам урок,…

3 недели ago