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


  • Контроль версій схожий на необмежене «undo».
  • Контроль версій також дозволяє багатьом людям працювати паралельно.

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


  • Використовуйте git config з опцією --global, щоб налаштувати ім’я користувача, адресу електронної пошти, редактор та інші параметри. Це треба робити один раз для кожної машини.

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


  • git init ініціалізує репозиторій.
  • Git зберігає всі дані репозиторію в каталозі .git.

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


  • git status показує стан репозиторію.
  • Файли можуть зберігатися в робочому каталозі проєкту (де їх бачать користувачі), зоні стейджингу (де будується наступний коміт) і локальному репозиторії (де коміти зберігаються постійно).
  • git add додає файли до зони стейджингу.
  • git commit зберігає все, що міститься у зоні стейджингу, як новий коміт у локальному репозиторії.
  • Повідомлення коміту треба складати так, щоб воно акуратно описувало ваші зміни.

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


  • git diff відображає відмінності між комітами.
  • git checkout відновлює старі версії файлів.

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


  • Файл .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 дозволяє відстежувати еволюцію проєкту.