Двома основними інструментами розробки програмного забезпечення є пластир y Різниця. Не загадка, як вони працюють, але я думаю, що це буде цікавий пост.
Обидва вони дуже потужні, і це так само, як торкання поверхні, вони мають більше службових програм та інших функцій. В основному за допомогою цих двох інструментів ми можемо створити контроль версій,
Різниця
Ми посилаємось на порівняння, він порівнює "оригінальний" файл з "новим" і повідомляє нам про відмінності, що існують між ними. Цей інструмент також дозволяє нам створювати файли .patch, які ми використовуємо для створення виправлень для наших програм.
пластир
Це команда, за допомогою якої ми буквально «виправляємо» наш оригінальний файл, додаючи та / або видаляючи рядки відповідно до інструкцій, що містяться у файлі .patch
Існує також vimdiff, який є візуальним інструментом для застосування патчів без необхідності .patch-файлу, оскільки він порівнює "оригінал" та "новий", і в цьому ж файлі можна редагувати рядок за рядком або весь документ. Це я пояснювати не буду, але думаю, що це заслуговує на згадування.
приклад
Тепер задоволення є. Приклад!
Це так, у нас є чудовий сценарій, який запитує ваше ім’я та ваш вік; якщо вам більше 18, він повідомляє вам, що ви можете голосувати, інакше він повідомляє, що ви не можете голосувати.
оригінал.ш
#! / bin / bash echo "Введіть своє ім'я:" прочитайте ім'я echo "Введіть свій вік:" прочитайте вік, якщо [[18 -lt $ age]] потім echo "Привіт $ name, ви $ старі і можете голосувати! " else echo "Привіт $ ім'я, ти $ старий і не можеш голосувати ..." fi
Зображення коду у Vim
Готово, ось запущений сценарій:
Здається, все працює нормально
Отже, як хороші користувачі, якими ми є, ми ділимося своїм сценарієм з другом :), але ми отримуємо повідомлення про те, що у нього є недолік, що коли йому виповнилося 18, він говорить, що не може голосувати, коли повинен.
Логічна помилка
Тепер ми починаємо виправляти невелику помилку і вносити кілька модифікацій ...
new.sh
#! / bin / bash maxAge = 18 echo "Введіть своє ім'я:"; прочитати відлуння імені "Напишіть свій вік:"; прочитати вік, якщо [[$ $ maxAge -le $ age]]; потім луна "Привіт $ ім'я, тобі $ років, і ти можеш голосувати!" else echo "Hello $ name, you are $ old and you don't vote ..." fi вихід 0
Новий код написаний на Vim
Припустимо, сценарій дуже важкий. Тож, щоб уникнути повторного надсилання всього сценарію, ми створюємо .patch
$ diff -u original.sh new.sh> patch.patch
І ось у нас є наш патч. Ось вид в Vim:
Ось так виглядають інструкції до .patch. Білим - лінії, які не були змінені, синім - ті, що були видалені, оранжевим - додані.
І для його застосування ми просто використовуємо файл .patch у сценарії, який потрібно виправити. Ось називається оригіналAmigo.sh, що є точною копією сценарію оригінал.ш
Друг сценарій
$ patch originalFriend.sh <patch.patch
І це залишає нам наш файл оригіналAmigo.sh Так:
Сценарій друга після застосування виправлення
Як бачите, отримати розбіжності та застосувати патчі дуже просто. Це все від мене.
Вітаємо людей, ми прочитаємо наступної п’ятниці.