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

Останнє оновлення 2024-06-04 | Редагувати цю сторінку

Приблизний час: 10 хвилин

Огляд

Питання

  • Як я можу використовувати Git з RStudio?

Цілі

  • Зрозуміти, як використовувати Git з RStudio.

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

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

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

Цей крок відкриває діалогове вікно із запитанням про те, як саме ми хочемо створити проєкт. Тут ми маємо кілька варіантів. Припустимо, що ми хочемо використовувати RStudio з репозиторієм planets, який ми вже створили раніше. Оскільки цей репозиторій міститься в каталозі на нашому комп’ютері, ми обираємо опцію “Existing Directory”:

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

Перевірте, чи бачите ви опцію “Version Control”

Хоча ми не збираємося використовувати її тут, в цьому меню повинна бути опція “version control”. Це те, що ви б обрали, якщо захочете створити проєкт на своєму комп’ютері шляхом клонування репозиторію з GitHub. Якщо ця опція відсутня, це, ймовірно, означає, що RStudio не знає, де знаходиться ваш виконуваний файл Git, і ви не зможете просуватися далі в цьому уроці, поки ви не скажете RStudio, де він.

Знайдіть виконуваний файл Git

Спочатку переконаймося, що Git встановлено на вашому комп’ютері. Відкрийте термінал у Mac або Linux, або відкрийте командний рядок у Windows, і введіть:

  • which git (macOS, Linux)
  • where git (Windows)

Якщо на вашому комп’ютері немає ніякої версії Git, будь ласка, дотримуйтесь інструкцій зі встановлення Git з цього ж самого уроку, щоб встановити Git зараз. Далі відкрийте термінал або командний рядок і знов введіть which git (macOS, Linux), або where git (Windows). Скопіюйте шлях до виконуваного файлу git.

Наприклад, на деякому комп’ютері Windows, на якому встановлено GitHub Desktop, шлях може бути таким: C:/Users/UserName/AppData/Local/GitHubDesktop/app-1.1.1/resources/app/git/cmd/git.exe

ПРИМІТКА: Шлях на вашому комп’ютері буде дещо іншим.

Повідомте RStudio, де знайти Git

У RStudio перейдіть до меню Tools > Global Options > Git/SVN, а потім перейдіть до виконуваного файлу Git, який ви знайшли в командному рядку або терміналі. Тепер перезапустіть RStudio. Примітка: Навіть якщо у вас встановлений Git, якщо ви використовуєте macOS, то вам може знадобитися прийняти ліцензію Xcode.

Далі RStudio запитає, який наявний каталог ми хочемо використовувати. Натисніть “Browse…” і перейдіть до відповідного каталогу, потім натисніть”Create Project”:

Чудово! Ми створили новий проєкт в RStudio в рамках наявного репозиторію planets. Зверніть увагу на вертикальне меню “Git” у панелі меню. RStudio визнав, що поточний каталог є репозиторієм Git, і пропонує нам ряд інструментів для використання Git:

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

Щоб редагувати наявні файли в репозиторії, ми можемо натискати на них у панелі “Files” у правому нижньому куті. Тепер додамо деяку інформацію про Плутон:

Після того, як ми зберегли наші відредаговані файли, ми можемо використати RStudio для збереження змін, натиснувши на “Commit…” в меню Git:

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

Це відкриє діалогове вікно, де ми можемо вказати, які файли зберігати у коміті (обираючи відповідні поля у стовпці “Staged”), та ввести повідомлення коміту (у верхній правій панелі). Піктограми у стовпці “Status” вказують поточний стан кожного файлу. Натискання на файлі показує інформацію про зміни у нижній панелі (використовуючи результат команди git diff). Як тільки все виглядає так, як ми хочемо, ми натискаємо “Commit”:

Зміни можна відправити до віддаленого репозиторію, обравши “Push Branch” з меню Git. Існують також опції меню для отримання змін з віддаленого репозиторію та для перегляду історії комітів:

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

Що робити, якщо команди Push/Pull виділені сірим кольором?

Якщо команди Push/Pull не активні, це зазвичай означає, що RStudio не знає місце знаходження вашого віддаленого репозиторію (наприклад, на GitHub). Щоб виправити це, відкрийте термінал у репозиторії і введіть команду git push -u origin main. Потім перезавантажте RStudio.

Якщо натиснути на “History”, ми побачимо графічну версію того, що нам сказав би git log:

RStudio створює ряд файлів, які використовуються для відстеження проєкту. Зазвичай ми не хочемо відстежувати їх у Git; в цьому випадку ми додаємо їх до нашого файлу .gitignore:

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

Порада: як виключити файли з контролю версій

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

Завдання

  1. Створіть у вашому проєкті новий каталог під назвою graphs.
  2. Змініть .gitignore, щоб graphs не відстежувався контролем версій.

Це можна зробити в Rstudio наступним чином:

R

dir.create("./graphs")

Потім відкрийте файл .gitignore з правої панелі Rstudio та додайте graphs/ до списку файлів, які слід ігнорувати.

У меню Git у RStudio є ще багато інших функцій, але цих має бути достатньо, щоб почати!

Ключові моменти

  • Використання інтеграції Git із RStudio дозволяє відстежувати еволюцію проєкту.