Написання власних історій за допомогою git

Привіт усім! Перш ніж продовжувати тексти списку замовлень, я хочу відзначити випуск git 2.16, подякувавши кожному з тих, хто надіслав виправлення, і кожному з користувачів, загалом у нас було близько 4000 рядків між оновленнями та виправленнями , що не говорить високо про мою першу версію, але говорить про вашу доброту 🙂 Дякую! Зараз я розповім вам маленький секрет, дотепер не було часу, коли я не сідав писати статтю і багато думав над цим, зазвичай я просто пишу підряд, і тоді добра ящірка приймає доброту виправте мої помилки друку 🙂 тому завдяки йому теж.

Це не найкраще, коли ми говоримо про написання статей, мовляв, воно повинно мати мету і будувати структуру, і відзначати невеликі моменти, огляди і т. Д. Тощо ... Тепер це стосується не лише блогів загалом, але є важливим у програмне забезпечення, яке видає себе хорошим 🙂 Для цього завдання та після деяких проблем із програмним забезпеченням для контролю версій, яке використовувалося при розробці ядра кілька років тому, воно народилося git 🙂

Де вчитися git?

Кількість документації навколо git приголомшує, навіть якщо ми просто взяли сторінки, що додаються до інсталяції, ми мали б прочитати величезну кількість. Я особисто знаходжу git книга досить добре розроблений, навіть я переклав деякі сегменти розділу 7, мені все ще бракує деяких, але дайте мені час 😛 можливо, цього місяця я зможу перекласти те, що залишилося від цього розділу.

Що робить git?

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

Цікавим у git є його спосіб підтримки версій даних. За старих часів (інші програми контролю версій) виконували стискання всіх існуючих файлів у певний момент історії, наприклад, створення файлу резервна копія. Git застосовує інший підхід, виконуючи a commit позначена точка історії, ця точка історії має низку модифікацій і робіт, в кінці дня всі модифікації з часом збираються, і файли отримуються, щоб мати можливість стиснути або позначити як етапи версії. Оскільки я знаю, що все це звучить складно, я збираюся провести вас у магічну подорож на суперосновному прикладі.

Маленький калькулятивний проект

Калькулятика - це програма, яка знайде квадрати заданого числа, ми зробимо це в C, і це буде максимально просто, тому не чекайте від мене великої кількості перевірок безпеки. Спочатку ми збираємося створити сховище, я зроблю це разом з Github, щоб убити двох зайців:

Власний. Крістофер Діас Ріверос

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

А тепер підемо до нашого дорогого терміналу, git clone - це команда, яка відповідає за завантаження сховища, розташованого в url призначити та створити локальну копію на нашому комп’ютері.

Власний. Крістофер Діас Ріверос

Тепер давайте перевіримо git log що сталося в історії нашого проекту:

Тут ми маємо багато інформації у різних кольорах 🙂 спробуємо пояснити це:

перший жовтий рядок - це "штрих-код коміту", кожен коміт має свій унікальний ідентифікатор, за допомогою якого ви можете робити багато речей, але ми збережемо його на потім. Тепер ми маємо HEAD Целесте і master зелений. Це "вказівники", їх функція полягає в тому, щоб вказати на поточне місце нашої історії (HEAD) та гілка, над якою ми працюємо на своєму комп’ютері (master).

origin/master є аналогом Інтернету, origin - це ім'я за замовчуванням, призначене нашому URLІ 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(Щось, що ми побачимо в підручнику з програмування в інший час, наразі потрібно лише знати, що якщо до калькулятики введено більше 2 аргументів, програма закінчується і відображається довідка. Давайте її виконаємо:

Власний. Крістофер Діас Ріверос

Як бачите, тепер на ньому друкується номер, який був доставлений замість кількості аргументів, але якого я раніше вам не говорив 🙂 для цікавих 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, але це, безумовно, найбільш практична і повсякденна річ для розробника або блогера. Ми не дійшли до кінця калькулятора, але ми збираємося залишити це на інший раз 😉 Щиро дякую, що потрапили сюди, і я сподіваюся, це допоможе вам взяти участь у кількох проектах 😀 Вітаю


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Пабло - сказав він

    Привіт ... Я не знаю, чи ти, але я не бачу зображень у цьому звіті ...

    привіт

  2.   Пабло - сказав він

    Це була проблема з моїм браузером. Соромно за досаду.

  3.   Світ Tecprog - сказав він

    Мені все-таки доведеться прочитати його більш детально, я новачок.

  4.   Білл - сказав він

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

    1.    ChrisADR - сказав він

      Привіт Гільєрмо! 🙂 добре, що ви знайшли це корисним, щоб відповісти на ваші запитання:

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

      Незважаючи на те, що git буде відстежувати кожен файл, доданий до робочого дерева, необхідно конкретно вибрати, які файли будуть входити до наступного коміту, щоб навести приклад, припустимо, ваша робота змусила вас змінити 5 різних файлів раніше мати можливість побачити результат. Якщо ви хочете бути дещо конкретнішим і пояснити, що робиться в кожному з них, ви можете зробити git add file1; git commit; git add file2; git commit… .3,4,5; git коміт. Таким чином ваша історія є чистою та чітко визначеними змінами. І якщо вам доведеться щось змінити або повернути (більш просунуті теми), ви можете повернути конкретні речі або додати конкретні речі, не змінюючи решту.

      Сподіваюся, це допоможе 🙂 привітання та подяка за запитання

    2.    ChrisADR - сказав він

      PS: git add не говорить про порівняння з версією в мережі, але з попереднім комітом у вашому напрямку роботи, якщо він був локальним (зеленим), він буде порівнювати його з цим, якщо він був віддаленим (червоним) - порівняти з цим іншим. Просто для уточнення 😉

      1.    Білл - сказав він

        Ідеально, звичайно це уточнює.