Автоматизований контроль версій


Малюнок 1

Comic: аспірант надсилає «FINAL.doc» своєму науковому керівнику. Декілька дедалі інтенсивніших та неприємних раундів обміну коментарями і версіями закінчуються файлом під назвою "FINAL_rev.22.comments49.corrections.10.#@$%HYDIDCOMETOGRADSCHOOL????.doc"
“notFinal.doc” Хорхе Чам, https://www.phdcomics.com

Малюнок 2

Еволюція документу в результаті послідовних змін

Малюнок 3

Модифікація одного документу двома різними способами призводить до створення двох його різних версій

Малюнок 4

Злиття двох різних версій в один документ, який містить зміни з обох версій

Налаштування Git


Створення репозиторію


Відстеження змін


Малюнок 1

Додавання змін до зони стейджингу за допомогою "git add" та зберігання їх у репозиторії за допомогою "git commit"

Малюнок 2

{alt=‘Два документи окремо додаються до зони стейджингу за допомогою git add, а потім об’єднуються в один коміт за допомогою git commit’}


Дослідження історії


Малюнок 1

Використання git restore для відновлення попередньої версії двох файлів

Малюнок 2

Як працює git: зміни додаються до зони стейджингу (git add), зберігаються у репозиторії (git commit), та можуть бути відновлені з репозиторію (git checkout)

Ігнорування файлів


Віддалені репозиторії у GitHub


Малюнок 1

Початок створення нового репозиторію на GitHub

Малюнок 2

Другий крок створення репозиторію на GitHub: імʼя репозиторію та відсутність файлів readme та ліцензії

Малюнок 3

Після створення нового репозиторію, GitHub показує сторінку з URL та додатковою інформацією. Вона містить інструкції для налаштування нового репозиторію GitHub як віддаленого

Малюнок 4

Додавання змін до зони стейджингу за допомогою "git add" та зберігання їх у репозиторії за допомогою "git commit"

Малюнок 5

Як і наш локальний репозиторій, "recipes" на GitHub також є репозиторієм git, але наразі цей репозиторій пустий

Малюнок 6

Натискання на "SSH" для отримання SSH URL-адреси репозиторію замість його HTTPS URL-адреси

Малюнок 7

Натискання "Copy to Clipboard" на GitHub, щоб скопіювати URL-адресу репозиторію

Малюнок 8

"git push origin" надсилає зміни з локального репозиторію до віддаленого, що робить віддалений репозиторій точною копією локального.

Співпраця


Малюнок 1

Налаштування доступу до репозиторію для співавторів (щоб відкрити цю сторінку, перейдіть на "Settings", а потім оберіть "Collaborators")

Малюнок 2

"git clone" створює копію віддаленого репозиторію з GitHub, що дозволяє іншій людині створити свій локальний репозиторій, до якого вони можуть вносити зміни.

Конфлікти


Малюнок 1

Конфлікт може виникати при злитті двох незалежно виконаних наборів змін

Відкрита наука


Ліцензування


Цитування


Хостинг


Додатково: Використання Git з RStudio


Малюнок 1

Знімок екрана RStudio, що показує меню файлу з вибраним пунктом "New Project..."

Малюнок 2

Знімок екрана RStudio, що показує діалогове вікно New Project з обраним пунктом "Create project from existing directory"

Малюнок 3

Вікно RStudio із діалогом "Create Project From Existing Directory". У діалоговому вікні робочий каталог проєкту було обрано "~/Desktop/recipes"

Малюнок 4

Вікно RStudio після створення нового проєкту з великою стрілкою, що вказує на вертикальну панель меню Git.

Малюнок 5

Використання панелі редактора для внесення змін до файлу "pluto.txt" у RStudio

Малюнок 6

Вікно RStudio, що показує меню Git з обраним пунктом "Commit..."

Малюнок 7

Перегляд змін у RStudio. У верхній лівій панелі перераховані файли, які можна додати або вилучити з коміту. Права верхня панель призначена для введення повідомлення коміту. Нижня панель показує інформацію про поточний файл, вибраний у верхній лівій панелі.

Малюнок 8

Вікно RStudio, що показує меню Git з обраним пунктом "History"

Малюнок 9

Вікно RStudio із діалогом для перегляду змін після натискання кнопки "History". Верхня панель містить перелік комітів у репозиторії, на кшталт `git log`. Нижня панель показує зміни у відповідному коміті, обраному в верхній панелі.

Малюнок 10

Знімок екрану RStudio, що показує .gitignore, відкритий у вікні редактора з файлами .Rproj.user, .Rhistory, .RData, та *.Rproj, доданими наприкінці