Автоматизований контроль версій
- Контроль версій схожий на необмежене «undo».
- Контроль версій також дозволяє багатьом людям працювати паралельно.
Налаштування Git
- Використовуйте
git config
з опцією--global
, щоб налаштувати ім’я користувача, адресу електронної пошти, редактор та інші параметри. Це треба робити один раз для кожної машини.
Створення репозиторію
-
git init
ініціалізує репозиторій. - Git зберігає всі дані репозиторію в каталозі
.git
.
Відстеження змін
-
git status
показує стан репозиторію. - Файли можуть зберігатися в робочому каталозі проєкту (де їх бачать користувачі), зоні стейджингу (де будується наступний коміт) і локальному репозиторії (де коміти зберігаються постійно).
-
git add
додає файли до зони стейджингу. -
git commit
зберігає все, що міститься у зоні стейджингу, як новий коміт у локальному репозиторії. - Повідомлення коміту треба складати так, щоб воно акуратно описувало ваші зміни.
Дослідження історії
-
git diff
відображає відмінності між комітами. -
git restore
recovers old versions of files.
Ігнорування файлів
- Файл
.gitignore
інформує Git про те, які файли треба ігнорувати.
Віддалені репозиторії у GitHub
- Локальний репозиторій Git можна під’єднати до одного або декількох віддалених репозиторіїв.
- Для підключення до віддалених репозиторіїв використовується протокол SSH.
-
git push
копіює зміни з локального репозиторію до віддаленого репозиторію. -
git pull
копіює зміни з віддаленого репозиторію в локальний репозиторій.
Співпраця
-
git clone
копіює віддалений репозиторій у локальний репозиторій та автоматично налаштовує віддалений репозиторій якorigin
.
Конфлікти
- Конфлікти виникають, коли двоє або більше людей змінюють однакові рядки в одному файлі.
- Система контролю версій не дозволяє користувачам перезаписувати зміни один одного наосліп, але виділяє конфлікти, щоб їх можна було вирішити.
Відкрита наука
- Відкрита наукова робота є більш корисною та частіше цитованою, ніж закрита.
Ліцензування
- Файли з імʼям
LICENSE
,LICENSE.md
, абоLICENSE.txt
часто використовуються у репозиторіях, щоб вказати, як їх вміст може застосовуватися іншими. - Розробники, які створюють власне програмне забезпечення, яке містить в собі інший код, розповсюджуваний за General Public License (GPL), також повинні зробити своє програмне забезпечення відкритим під ліцензією GPL; більшість інших відкритих ліцензій цього не вимагають.
- Сімейство ліцензій Creative Commons дозволяє авторам гнучко комбінувати вимоги та обмеження щодо зазначення авторства, створення похідних творів, подальшого поширення та комерціалізації.
- Люди, які не є юристами, не повинні намагатися писати ліцензії з нуля.
Цитування
- Додайте файл
CITATION
до репозиторію, щоб пояснити у ньому, як ви хочете бачити посилання на свою роботу.
Хостинг
- Проєкти можуть бути розміщені на серверах університетів, в особистих доменах або на публічному сервісі хостингу.
- Правила щодо інтелектуальної власності та зберігання конфіденційної інформації застосовуються незалежно від місця розміщення коду та даних.
Додатково: Використання Git з RStudio
- Використання інтеграції Git із RStudio дозволяє відстежувати еволюцію проєкту.