Введение в Git и GitHub для начинающих (Учебное пособие)

Новичок в git? Выполните следующие действия, чтобы освоиться с внесением изменений в базу кода, открытием запроса на вытягивание (PR) и слиянием кода с основной ветвью. Все важные термины git и GitHub выделены жирным шрифтом со ссылками на официальные справочные материалы git.

Шаг 0: Установите git и создайте учетную запись GitHub

Первые два вам нужно установить git и создать бесплатную учетную запись GitHub.

Следуйте инструкциям здесь, чтобы установить git (если он еще не установлен). Обратите внимание, что в этом руководстве мы будем использовать git только в командной строке. Хотя есть несколько отличных графических интерфейсов пользователя git (графические пользовательские интерфейсы), я думаю, что легче сначала изучить git, используя специфичные для git команды, а затем опробовать графический интерфейс git, как только вы освоитесь с командой. Примечание: 95% других онлайн-ресурсов и обсуждений git также предназначены для интерфейса командной строки.

Как только вы это сделаете, создайте здесь учетную запись GitHub.

Git и GitHub

Быстрый в сторону: git и GitHub не одно и то же. Git — это инструмент контроля версий с открытым исходным кодом, созданный в 2005 году разработчиками, работающими в операционной системе Linux; GitHub — компания, основанная в 2008 году, которая производит инструменты, которые интегрируются с git. Вам не нужен GitHub для использования git, но вы не можете использовать GitHub без использования git. Есть много других альтернатив GitHub, таких как GitLab, BitBucket, и решения для самостоятельного размещения, такие как gogs и gittea. Все они называются в git-speak «пультами дистанционного управления» и не являются обязательными. Вам не нужно использовать пульт для использования git, но это упростит обмен вашим кодом с другими.

Шаг 1. Создайте локальный репозиторий git

При создании нового проекта на вашем локальном компьютере с помощью git вы сначала создаете новый репозиторий (или часто для краткости «репо»).

Чтобы использовать git, мы будем использовать терминал. Если у вас нет большого опыта работы с терминалом и основными командами, ознакомьтесь с этим руководством (если вам не нужен/не нужен короткий урок истории, перейдите к шагу 3).

Для начала откройте терминал и перейдите туда, где вы хотите разместить проект на локальном компьютере, с помощью команды cd (сменить каталог). Например, если у вас есть папка «проекты» на рабочем столе, вы должны сделать что-то вроде:

Чтобы инициализировать репозиторий git в корне папку, запустите команду git init:

Шаг 2: Добавьте новый файл в репозиторий

Добавьте новый файл в проект, используя любой текст редактор, который вам нравится, или запускающий сенсорную команду. `touch newfile.txt` просто создает и сохраняет пустой файл с именем newfile.txt.

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

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

По сути, здесь говорится: «Эй, мы заметили, что вы создали новый файл с именем mnelson.txt, но если вы не используете команду ‘git add’, мы не собираемся ничего с ним делать».

Интерлюдия: промежуточная среда, фиксация и вы

Одна из самых запутанных частей, когда вы впервые изучаете git, — это концепция промежуточной среды и как это связано с фиксацией.

Коммит — это запись того, какие изменения вы внесли с момента последней фиксации. По сути, вы вносите изменения в свое репо (например, добавляете файл или изменяете его), а затем говорите git, чтобы эти изменения были внесены в коммит.

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

Итак, как вы сообщите git, какие файлы нужно поместить в коммит? Именно здесь на помощь приходит промежуточная среда или индекс. Как видно на шаге 2, когда вы вносите изменения в свое репо, git замечает, что файл был изменен, но не будет с ним ничего делать (например, добавляя его в коммит).

Чтобы добавить файл в коммит, вам сначала нужно добавить его в промежуточную среду. Для этого вы можете использовать команду git add (см. Шаг 3 ниже).

После того, как вы использовали команду git add для добавления всех файлов, которые хотите, в промежуточную среду , затем вы можете указать git упаковать их в коммит с помощью команды git commit.

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

Шаг 3. Добавьте файл в промежуточную среду

Добавьте файл в промежуточную среду с помощью команды git add.

Если вы повторно запустите команду git status, вы увидите, что git добавил файл в промежуточную среду (обратите внимание на строку «Изменения, которые необходимо зафиксировать»).

Повторяю, файл еще не был добавлен в фиксацию, но вот-вот будет.

Шаг 4: Создайте фиксацию

Пора создать вашу первую фиксацию!

Выполните команду git commit -m "Ваше сообщение о фиксации"

Сообщение в конце фиксации должно быть связано с тем, что содержится в фиксации — возможно, это новая функция, возможно, это исправление ошибки, может быть, просто исправление опечатки. Не помещайте сообщения типа «asdfadsf» или «foobar». Это огорчает других людей, которые видят ваш коммит. Очень очень печально. Коммиты живут вечно в репозитории (технически вы можете удалить их, если вам действительно, действительно нужно, но это беспорядочно), поэтому, если вы оставите четкое объяснение своих изменений, это может быть чрезвычайно полезно в будущем. программисты (возможно, в будущем!), которые пытаются выяснить, почему некоторые изменения были внесены годами позже.

Шаг 5: Создайте новую ветку

Теперь, когда вы ‘ Если вы сделали новую фиксацию, давайте попробуем что-нибудь более продвинутое.

Предположим, вы хотите создать новую функцию, но беспокоитесь о внесении изменений в основной проект во время разработки этой функции. Здесь и появляются ветки git.

Ветви позволяют вам перемещаться между «состояниями» проекта. Официальные документы git описывают ветки следующим образом: «Ветвь в Git — это просто легкий подвижный указатель на один из этих коммитов». Например, если вы хотите добавить новую страницу на свой веб-сайт, вы можете создать новую ветку только для этой страницы. не затрагивая основную часть проекта. Как только вы закончите со страницей, вы можете объединить изменения из своей ветки в основную ветку. Когда вы создаете новую ветку, Git отслеживает, от какого коммита ваша ветка «ответвлена», поэтому он знает историю всех файлов.

Допустим, вы находитесь в основной ветке и хотите создать новую ветку для разработки своей веб-страницы. Вот что вы сделаете: Запустите git checkout -b . Эта команда автоматически создаст новую ветку, а затем «проверит вас», что означает, что git переместит вас в эту ветку за пределы основной ветки.

После выполнения указанной выше команды вы можете используйте команду git branch, чтобы подтвердить, что ваша ветка была создана:

Имя ветки со звездочкой рядом с ним указывает, в какой ветке вы находитесь в данном заданном время.

Примечание об именах веток

По умолчанию первая ветка каждого репозитория git называется `master` (и обычно используется в качестве основной ветки в проекте). В рамках общей антирасистской работы технической индустрии некоторые группы начали использовать альтернативные имена для ветки по умолчанию (например, в этом руководстве мы используем «первичный»). В другой документации и обсуждениях вы можете встретить «главный» или другие термины, используемые для обозначения основной ветви. Независимо от названия, просто имейте в виду, что почти у каждого репозитория есть первичная ветка, которую можно рассматривать как официальную версию репозитория. Если это веб-сайт, то основная ветвь — это версия, которую видят пользователи. Если это приложение, то основная ветвь — это версия, которую загружают пользователи. Это не технически необходимо (git не обрабатывает ветки иначе, чем другие ветки), но именно так git традиционно используется в проекте.

Если вас интересует решение использовать разные имена веток по умолчанию, GitHub имеет объяснение их изменения здесь: https://github. com/github/renaming

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

Шаг 6. Создайте новый репозиторий на GitHub

Если вы хотите отслеживать свой код только локально, вам не нужно используйте GitHub. Но если вы хотите работать с командой, вы можете использовать GitHub для совместного изменения кода проекта.

Чтобы создать новое репо на GitHub, войдите в систему и перейдите на домашнюю страницу GitHub. Вы можете найти опцию «Новый репозиторий» под знаком «+» рядом с изображением вашего профиля в правом верхнем углу панели навигации:

После нажатия кнопки GitHub попросит вас назвать свое репо и предоставить краткое описание:

Когда вы закончите заполнение информации, нажмите кнопку «Создать репозиторий », чтобы создать новое репо.

GitHub спросит, хотите ли вы создать новое репозиторий с нуля или хотите добавить репо, созданное локально. В этом случае, поскольку мы уже создали новое репозиторий локально, мы хотим отправить его на GitHub, поэтому следуйте разделу «…. или нажмите существующий репозиторий из командной строки»:

(Вы захотите изменить URL-адрес в первой командной строке на то, что GitHub перечисляет в этом разделе, поскольку ваше имя пользователя GitHub и имя репозитория отличаются.)

Шаг 7. Отправьте ветку в GitHub

Теперь мы отправим фиксацию из вашей ветки в новое репозиторий GitHub. Это позволяет другим людям видеть внесенные вами изменения. Если они одобрены владельцем репозитория, изменения могут быть объединены в основную ветку.

Чтобы отправить изменения в новую ветку на GitHub, вам нужно запустить git push origin yourbranchname . GitHub автоматически создаст для вас ветку в удаленном репозитории:

Вам может быть интересно, что означает слово «origin» в приведенной выше команде. Когда вы клонируете удаленный репозиторий на локальный компьютер, git создает для вас псевдоним. Почти во всех случаях этот псевдоним называется «происхождение». По сути, это сокращение для URL-адреса удаленного репозитория. Итак, чтобы отправить свои изменения в удаленный репозиторий, вы могли бы использовать команду: git push git@github.com: git/git.git yourbranchname или git push origin yourbranchname

(Если это ваш первый раз, когда вы используете GitHub локально, вам может быть предложено войти в систему с вашим именем пользователя и паролем GitHub.)

Если вы обновите страницу GitHub, вы увидите заметку с веткой с вашим имя только что было помещено в репозиторий. Вы также можете щелкнуть ссылку «ветки», чтобы увидеть там свою ветку.

Теперь нажмите зеленую кнопку на скриншоте выше.. Мы собираемся сделать pull request !

Шаг 8: Создайте pull request (PR)

pull request (или PR) — это способ предупредить владельцев репо о том, что вы хотите внести некоторые изменения в их код. Это позволяет им просмотреть код и убедиться, что он хорошо выглядит, прежде чем вносить изменения в основную ветку.

Вот как выглядит PR-страница до того, как вы ее отправили:

А вот как это выглядит после того, как вы отправили PR-запрос :

Вы можете увидеть большую зеленую кнопку внизу с надписью «Merge pull request». Нажатие на это означает, что вы объедините свои изменения в основную ветку.

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

Шаг 9: Объедините PR

Продолжайте и нажмите зеленую кнопку «Merge pull request». Это объединит ваши изменения в основную ветку.

Когда все готово, я рекомендую удалить вашу ветку (слишком много веток могут стать беспорядочными), поэтому также нажмите эту серую кнопку «Удалить ветку».

Вы можете дважды проверить, были ли ваши коммиты объединены нажав ссылку «Коммиты» на первой странице вашего нового репо.

Это покажет вам список всех коммитов в этой ветке. Вы можете увидеть тот, который я только что слил, вверху (запрос на объединение №1).

Вы также можете увидеть хэш-код фиксации справа. Хэш-код — это уникальный идентификатор для этой конкретной фиксации. Это полезно для ссылки на определенные коммиты и при отмене изменений (используйте команду git revert для возврата).

Шаг 10: Получите изменения на GitHub обратно на свой компьютер

Прямо сейчас репозиторий на GitHub выглядит немного иначе, чем на вашем локальном компьютере. Например, фиксация, которую вы сделали в своей ветке и слила с основной веткой, не существует в основной ветке на вашем локальном компьютере.

Чтобы получить самые последние изменения, внесенные вами или другими объединились на GitHub, используйте команду git pull origin master (при работе с основной веткой). В большинстве случаев это можно сократить до «git pull».

Здесь показаны все файлы, которые были изменены, и как они изменились.

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

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

Шаг 11. Погрейтесь в своей славе git

Вы успешно сделали PR и слили свой код с основным ветка. Поздравляю! Если вы хотите погрузиться глубже, ознакомьтесь с этими более продвинутыми руководствами и ресурсами:

  • https://training.github.com/
    Официальный git-адрес Github шпаргалки! Удобно запоминать повседневные команды, которые вы будете использовать.
  • https://learngitbranching.js.org/
    Смущены или заинтригованы системой ветвления git? Это просто означает, что ты человек! Это одна из самых глубоких частей git, но, возможно, и самая мощная. Понимание модели ветвей дает вам суперсилы git, и это руководство дает вам способ изучить ветки git визуально и интуитивно.
  • https://git-school.github.io/visualizing- git
    Еще один инструмент для визуального изучения git. Это в большей степени открытая песочница, чем Learngitbranching.js.org
  • https://github.com/jlord/git-it-electron
    Настольное приложение, которое помогает вы изучаете git через проблемы, которые вам нужно решить. У него есть ряд уровней, каждый из которых требует от вас использования команд git для получения правильного ответа.
  • https://github.com/Gazler/githug
    Если вам понравился git -it, Githug — это еще один учебник, основанный на головоломках, созданный, чтобы дать вам практический способ изучения git.

Я также рекомендую найти время для работы с вашей командой над симуляцией небольшой группы проект, как мы сделали здесь. Попросите вашу команду создать новую папку с названием вашей команды и добавить в нее несколько файлов с текстом. Затем попробуйте отправить эти изменения в это удаленное репо. Таким образом, ваша команда сможет начать вносить изменения в файлы, которые они изначально не создавали, и практиковаться в использовании функции PR. Кроме того, используйте инструменты git blame и git history на GitHub, чтобы узнать, какие изменения были внесены в файл и кто эти изменения внес.

Чем больше вы используете git, тем удобнее вам … git с ним. (Я не мог устоять.)

* Этот пост был первоначально опубликован в октябре 2015 года Меган Нельсон, в то время старшим инженером-программистом в HubSpot. С тех пор он был обновлен командой разработчиков HubSpot.

Поделиться в Twitter Поделиться в Facebook Поделиться по электронной почте Поделиться в LinkedIn
Оцените статью
Botgadget.ru
Добавить комментарий