Июль 2018 г.

Вы когда-нибудь задумывались, как большие проекты реализуются огромными людьми, работающими над ними, и как людям удается быстро их реализовать? Ответ на это был описан в этом посте. Например, они используют «git» или что-то подобное в качестве системы контроля версий для управления разработкой и выпуском проекта. Здесь мы увидим, почему и как это используется.

Каталог:

  • Git
  • GitHub
  • Установка Git
  • Настроить GitHub
  • Настройка проекта
  • Разветвление
  • Команды Git

Кому будет полезен этот пост?

  • Любой программист
  • Новичок для Git и GitHub
  • Студент компьютерных наук или студент с аналогичной степенью

Git:

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

О GitHub:

Это отличный инструмент git с приятным пользовательским интерфейсом, и им довольно легко пользоваться. Хотя он предоставляет свои услуги проектам с открытым исходным кодом / общедоступным проектам бесплатно, у него есть некоторые цены для частных проектов.

Разве вы не читали последние новости о приобретении Microsoft GitHub? Да, GitHub теперь продукт одного из крупных игроков. Подробнее об этом.

Почему вам следует использовать систему контроля версий?

Потому что никто не должен изо всех сил называть папку своего проекта, например,

проект (1), копия проекта, новый проект, финальный проект, финальный проект (1), финальный проект и т. д.,

Если тебе все еще нравится такой способ. Этот пост может вас разочаровать. 😐

Чем Git будет полезен для вас и / или вашей организации?

Вы можете хранить файлы проекта в организованном порядке, о котором вы даже не догадывались раньше, а также можете работать в проекте с несколькими людьми, работающими над одним и тем же одновременно.

Не верите?

Linux project использует git, над которым одновременно работают сотни тысяч человек, и они выпускают билд два раза в месяц.

Ладно. С чего начать?

Вы не научитесь ходить, следуя правилам. Вы учитесь, делая и падая.

- Ричард Брэнсон

Давайте учиться на практике.

Установка Git:

Если вы уже установили Git на свой компьютер. Что ж, можете переходить к следующему разделу.

Если нет, Вы можете скачать его здесь.

Если вам нужна помощь по установке, ее можно найти здесь.

Настройка GitHub:

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

Независимо от того, есть ли у вас проект уже на вашем локальном компьютере / компьютере, вам необходимо создать новый репозиторий в GitHub. Репозиторий означает не что иное, как проект. Дайте ему красивое имя. Помните, это ваш первый проект! Назовите его так, как вам нравится. 😉

Теперь пора использовать инструмент хакеров, Терминал или Командную строку.

Настройка проекта:

Откройте терминал.

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

Если вы новичок в терминале, воспользуйтесь следующими ссылками.

Нажмите здесь и здесь для Windows

Щелкните здесь для MacOS или Linux

После того, как вы создали репозиторий в GitHub, его домашняя страница будет выглядеть примерно так:

Нажмите кнопку Клонировать или загрузить. Вы увидите ссылку. Это URL-адрес Git. Скопируйте это. Вы собираетесь использовать это немного позже.

Если все-таки задумались над настройкой репозитория. См. Здесь для получения дополнительных инструкций.

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

Введите «git init» и затем Enter. Он добавит несколько файлов для сохранения некоторых метаданных для отслеживания изменений файлов и некоторых других необходимых вещей.

Когда я помещаю что-то в две скобки, подобные этой < >, вам нужно ввести свой ввод внутри этого.

Теперь введите «git remote add origin <LINK_OF_GitHub_REPOSITORY_THAT_YOU_JUST_COPIED>», нажмите «Enter». Ссылка на ваш репозиторий сохранена под именем «origin».

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

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

Примечание. Файлы вашего проекта будут опубликованы на GitHub, поэтому убедитесь, что вы не вводите какую-либо секретную информацию в своем проекте, например пароли, токены API, номера телефонов, данные кредитной карты и т. д.

В мире Git репозиторий напоминает структуру дерева. Если вы вносите в него какие-либо изменения, вы делаете это в одной из его веток. Поскольку вы нажимаете в первый раз, вы можете отправить его в основную ветку, которая широко известна как «главная». А другие внесут свои изменения в другую ветку, и им нужно будет выполнить некоторые формальности, чтобы объединить ее с основной веткой. Мы увидим это чуть позже.

Создадим ветку,

Введите «git checkout -b master», будет создана ветка с именем «master».

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

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

Давайте добавим ваши файлы и скажем git, что вы хотите, чтобы эти файлы отслеживались.

Введите «git add .» (не пропустите точку в конце), все файлы будут добавлены в список отслеживания.

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

Введите «git commit -m “initial commit”», он сохранит ваши изменения или зафиксирует в своей папке метаданных с уникальным хешем.

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

Введите «git push origin master», он отправит вашу фиксацию (ваши сохраненные изменения / файлы) в ваш репозиторий в облаке.

Вот и все, ваш код теперь в облаке.

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

Итак, как вы будете продолжать свою работу дальше.

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

Вы слишком многому не научились? Не волнуйтесь, вы к этому привыкнете.

Сегодня жестоко.

Завтра жестокее.

И послезавтра прекрасен.

- Джек Ма

Сделаем еще один шаг,

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

Ветвление:

Ветвление - это не что иное, как сохранение копий с изменениями в нескольких файлах. Это может звучать как древний метод создания разных папок для разных версий. Но у него есть много преимуществ.

Давайте сделаем образец, чтобы узнать об этом.

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

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

Он скажет что-то вроде:

“On branch master
Your branch is up to date with ‘origin/master’.
nothing to commit, working tree clean”

Это означает, что вы никогда не вносили никаких изменений после обновления в облачный репозиторий.

Пришло время создать ветку, наконец.

Введите «git checkout -b new-branch». Будет создана ветка с именем новая ветка и будет оформлена такая же.

Что такое касса? Не волнуйтесь, git может концентрироваться только на одной ветке за раз в окнах терминала. Итак, вам нужно сказать, на какой ветви сконцентрироваться. Вот и все.

Примечание. Отсутствие символа «-b» в приведенной выше команде вызовет ошибку, например,

pathspec ‘new-branch’ did not match any file(s) known to git.

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

Надеюсь, Вы правильно набрали предыдущую команду.

Теперь внесите изменения в файлы вашего проекта.

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

Теперь нажмите «git status»

Вы можете увидеть что-то вроде следующего и некоторые измененные имена файлов, выделенные красным как,

ON branch new-branch
Changes not staged for commit:
Modified: <PATH_TO_THE_FILE_THAT_YOU_JUST_MODIFIED>

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

Теперь нам нужно зафиксировать все изменения в этой ветке и отправить ее в облако.

Введите «git commit -m “my second commit”». Он зафиксирует ваши изменения в «new-branch», ветке, которую вы только что создали.

Нажмите «git push origin new-branch», и ваша новая ветка будет перенесена в облачный репозиторий.

В приведенной выше команде «origin» означает псевдоним, который мы назначили URL-адресу вашего облачного репозитория. Итак, он знает, куда нужно загрузить вашу ветку. «New-branch» означает, что вы просите git подтолкнуть вашу локально созданную ветку «new-branch» к репозиторию, который вы упомянули.

Теперь перейдите в браузер и посмотрите страницу облачного репозитория. На домашней странице, где отображаются все файлы, слева будет выпадающий вариант для выбора ветки. Он похож на ваш терминал. На странице могут одновременно отображаться файлы только из одной ветки. Итак, вы выбираете, какой из них показывать. Здесь вы можете найти имя вашей вновь созданной ветки «new-branch».

Щелчок по нему покажет файлы из этой конкретной ветки. Пойдите и посмотрите файл, в котором вы внесли некоторые изменения. Это похоже на новую папку на вашем компьютере.

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

Теперь дайте URL-адрес вашей ветки своим друзьям или товарищам по команде и скажите: «нужный вам код здесь», как начальник. 👓

Команды Git:

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

Чтобы настроить проект:

«git clone <CLOUD_REPOSITORY_CLONE_URL>» - для создания каталога проекта для созданного облачного репозитория.

Для существующего проекта:

«git init» - для создания всех скрытых файлов git для отслеживания изменений файлов и многого другого.

«git remote add origin <CLOUD_REPOSITORY_CLONE_URL>» - добавить URL-адрес облачного репозитория Git в память git, чтобы мы могли позже называть его по имени «origin».

Статус:

«git status» - для проверки текущей ветки и всех измененных файлов.

Филиал:

«git checkout -b <NEW_BRANCH_NAME>» - Чтобы создать новую ветку с вашим уникальным именем

Чтобы переключиться на существующую ветку:

«git checkout <EXISTING_BRANCH_NAME>» - позволить git сконцентрироваться на конкретной ветке (уже существующей ветке)

Нажатие:

«git add .» - чтобы добавить все файлы в список отслеживания git.

«git commit -m “<YOUR_COMMIT_MESSAGE>» - для сохранения всех изменений файлов в памяти git (просто называется фиксацией)

«git push origin <YOUR_BRANCH_NAME>» - чтобы отправить все коммиты в вашей ветке в облачный репозиторий с тем же именем ветки.

Я сказал вам, что у ветвления есть много преимуществ по сравнению с древними методами. Мы увидим все это в следующей части и многое другое для организационного использования.

Вы узнали что-нибудь из этого поста? Или у вас есть сомнения по примерам в этом посте? Поле для комментариев - все ваше. 😉

Удачного кодирования 😈

Равирадж Субраманиан

Найди меня на GitHub и Twitter