Написание собственных историй с помощью git

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

Это не лучший вариант, когда мы говорим о написании статей, якобы у него должна быть цель и построена структура, и отмечены мелкие моменты, обзоры и т. Д. И т. Д. Теперь это относится не только к блогам в целом, но и важно программное обеспечение, которое претендует на то, чтобы быть хорошим and Для этой задачи и после некоторых проблем с программным обеспечением контроля версий, которое использовалось при разработке ядра несколько лет назад, оно было создано git ????

Где учиться git?

Объем документации по git ошеломляет, даже если бы мы просто взяли справочные страницы, прилагаемые к установке, у нас было бы огромное количество чтения. Я лично нахожу мерзкая книга довольно хорошо продуман, даже я перевел некоторые сегменты раздела 7, мне все еще не хватает некоторых, но дайте мне время 😛 может быть, в этом месяце я смогу перевести то, что осталось от этого раздела.

Что делает git?

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

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

Маленький проект по расчету

Calculamatics будет программой, которая найдет квадраты заданного числа, мы сделаем это на C, и это будет максимально просто, поэтому не ждите от меня большого количества проверок безопасности. Сначала мы собираемся создать репозиторий, я сделаю это с помощью Github, чтобы убить двух зайцев:

Своя. Кристофер Диас Риверос

Мы добавили пару довольно простых вещей, таких как лицензия (очень важно, если вы хотите защитить свою работу, в моем случае заставьте их делиться результатами, если они хотят использовать их в качестве основы: P)

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

Своя. Кристофер Диас Риверос

Теперь давайте проверим git log что произошло в истории нашего проекта:

Здесь много разноцветной информации 🙂 попробуем пояснить:

первая желтая строка - это «штрих-код фиксации». Каждая фиксация имеет свой уникальный идентификатор, с помощью которого вы можете делать много вещей, но мы сохраним его на потом. Теперь у нас есть HEAD Селесты и master зеленый. Это «указатели», их функция - указывать на текущее местоположение нашей истории (HEAD) и ветку, над которой мы работаем на нашем компьютере (master).

origin/master аналог Интернета, origin это имя по умолчанию, которое было присвоено нашему URL, y master ветка, в которой вы работаете ... чтобы не усложнять, те, у кого есть / это те, которые не входят в нашу команду, но являются ссылками на то, что есть в Интернете.

Затем у нас есть автор, дата и время и сводка фиксации. Это небольшой обзор того, что произошло в тот момент истории, очень важный для многих проектов, и многие осуждают информацию. Давайте подробнее рассмотрим, что произошло в коммите с помощью команды git show <código-de-commit>

Своя. Кристофер Диас Риверос

Команда git show переносит нас на этот экран в формате патча, где вы можете увидеть, что было добавлено и что было удалено (если что-то было удалено) на тот момент истории, но пока это показывает нам только то, что записи .gitignore,README.mdLICENSE.

Теперь приступим к делу, напишем файл 🙂 мы создадим первую веху в нашей истории 😀:

Своя. Кристофер Диас Риверос

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

Своя. Кристофер Диас Риверос

Это было легко 🙂 теперь давайте посмотрим на следующую полезную команду: git status

Своя. Кристофер Диас Риверос

Какая-то добросердечная душа перевела git, чтобы упростить отслеживание, здесь у нас много полезной информации, мы знаем, что находимся в основной ветке, что мы обновили origin/master(ветка Github) у нас есть неотслеживаемые файлы! и чтобы добавить их, мы должны использовать git add, давай попробуем 🙂

Своя. Кристофер Диас Риверос

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

Своя. Кристофер Диас Риверос

Вкратце, желтая линия - это заголовок нашего коммита, я пишу main.c просто для наглядности. Черный текст - это объяснение изменений, внесенных с момента предыдущего коммита до настоящего момента 🙂 мы сохраняем файл, и мы видим, что наш коммит сохранен в реестре.

Своя. Кристофер Диас Риверос

Теперь посмотрим на историю нашего проекта с git log

Своя. Кристофер Диас Риверос

Снова в журнале, теперь мы можем видеть, что зеленая и красная линии различались, это потому, что на нашем компьютере мы находим коммит выше тех, что хранятся в Интернете 🙂 мы собираемся продолжить работу, предположим, что теперь я хочу показать сообщение, если пользователь вводит в программу более одного аргумента (что сбивает калькулятор с толку 🙂)

Как видим, наша программа сильно разрослась 😀, теперь у нас есть функция imprimir_ayuda() который отображает сообщение о том, как использовать вычисления, а в блоке main() теперь мы делаем обзор с if(Что-то, что мы увидим в учебнике по программированию в другой раз, а пока нужно только знать, что если в калькуляматику вводится более двух аргументов, программа завершается и отображается справка. Давайте выполним ее:

Своя. Кристофер Диас Риверос

Как вы теперь видите, он печатает число, которое было доставлено, вместо количества аргументов, но о котором я не говорил вам раньше 🙂 для любопытных echo $? показывает код выхода последней выполненной программы, то есть 1 потому что это закончилось ошибкой. Теперь давайте рассмотрим, как идет наша история:

Своя. Кристофер Диас Риверос

Теперь мы знаем, что мы на 1 коммит опережаем Github, что файл main.c был изменен, давайте создадим следующий коммит, выполнив git add main.c  , а затем git commit????

Своя. Кристофер Диас Риверос

Теперь мы были немного более конкретными, поскольку мы реализовали функцию и изменили код проверки. Теперь, когда оно было сохранено, мы рассмотрим наше последнее изменение. Мы можем увидеть это с git show HEAD

Своя. Кристофер Диас Риверос

Теперь вы видите красную и зеленую линии, мы добавили библиотеку stdlib.h, изменил большую часть кода и добавил функцию в нашу историю.

Теперь посмотрим журнал: (git log)

Своя. Кристофер Диас Риверос

Мы видим, что мы на два коммита опережаем версию Github, мы собираемся немного выровнять маркер 🙂 для этого мы используем git push origin master

При этом мы говорим, отправляйте мои коммиты на URL origin на ветке master

Своя. Кристофер Диас Риверос

Поздравляю! Теперь ваши изменения находятся на Github, вы мне не верите? давай рассмотрим это 😉

Своя. Кристофер Диас Риверос

Теперь у нас есть 3 коммита на Github 🙂

Резюме

Мы коснулись самых основных аспектов git, теперь они могут создать простой рабочий процесс в своих проектах, это вряд ли что-то из всего разнообразия вещей, которые можно сделать с помощью git, но, безусловно, это самая практичная и повседневная вещь для разработчика или блоггера. Мы не дошли до конца калькулятора, но оставим его на другой раз 😉 Большое спасибо, что пришли сюда, и я надеюсь, что это поможет вам участвовать в нескольких проектах projects Приветствую


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Пабло сказал

    Привет ... Не знаю, есть ли у вас, но я не вижу изображений в этом отчете ...

    привет

  2.   Пабло сказал

    Это была проблема с моим браузером. Позор за раздражение.

  3.   Tecprog Мир сказал

    Еще надо подробнее почитать, я новичок.

  4.   Билл сказал

    Отличная статья для начала с git, хотя я рекомендую делать заметки, чтобы понять детали.
    Мне было непонятно несколько вещей:
    какой вариант для Добавить .gitignore Cхотя я думаю, я увижу это, когда буду практиковать это,
    почему перед следующей фиксацией git нужно выполнить git add main.c, указывает ли add main.c git сравнить этот файл с сетевой версией? Не сравнивает ли он автоматически все добавленные файлы для отслеживания?

    1.    КрисADR сказал

      Здравствуйте, Гильермо, хорошо, что вы сочли полезным ответить на свои вопросы:

      .gitignore - это файл, который сообщает git, какие форматы или шаблоны игнорировать, в этом случае выбор C приводит к игнорированию файлов .o и других файлов, которые генерируются во время компиляции, что хорошо, потому что в противном случае ваш git сошел бы с ума в данный момент каждой компиляции и последующих действий 🙂 вы можете проверить большое количество форматов, которые git пропускает в своем шаблоне C, выполнив cat или с помощью текстового редактора.

      Хотя git будет отслеживать каждый файл, добавленный в рабочее дерево, необходимо специально выбрать, какие файлы войдут в следующую фиксацию, чтобы дать вам пример, предположим, что ваша работа заставила вас изменить 5 разных файлов раньше сможете увидеть результат. Если вы хотите быть более конкретным и объяснить, что делается в каждом из них, вы можете выполнить git add file1; git commit; git add file2; git commit… .3,4,5; git commit. Таким образом, ваша история будет чистой, а изменения четко обозначены. И в случае, если вам нужно что-то изменить или вернуться (более сложные темы), вы можете вернуть определенные вещи или добавить определенные вещи, не изменяя остальные.

      Надеюсь, это поможет 🙂 привет и спасибо за вопрос

    2.    КрисADR сказал

      PS: git add не говорит о сравнении с версией в сети, но с предыдущей фиксацией в вашей линии работы, если она была локальной (зеленый), она будет сравнивать ее с той, если она была удаленной (красный), она будет сравните с этим другим. Просто чтобы уточнить 😉

      1.    Билл сказал

        Прекрасно, конечно, уточняет.