Начать новую разработку R-пакета на github

Как создать новый репозиторий на github с помощью devtools в RStudio? Я пытался:

  • Создать пустой репозиторий на github с именем "MyNewRPackage"
  • Запустил новый проект в RStudio, используя ssh-подключение к моему репозиторию git
  • Установленные и загруженные devtools

Затем я решил использовать create("MyNewRPackage") для инициализации структуры каталога и файла README.md. Но скелет пакета создается как подпапка моего проекта, и у меня есть ~/MyNewRPackage/MyNewRPackage/R. Но мне нужно создать пакетный скелет в корневой папке моего репозитория github.

Каков стандартный способ запуска новой разработки R-пакета на github с помощью devtools и RStudio?

Ответ 1

Надеюсь, это поможет кому-то:

  • Создать пустой репозиторий в github (я буду использовать имя rpackage в этом примере)
  • Создайте пакет локально с помощью devtools, create("rpackage") (это создаст папку rpackage)
  • Создайте новый проект в RStudio (создайте проект из существующего каталога) и выберите каталог rpackage
  • В RStudio перейдите в Инструменты/Оболочка... и введите git init
  • Повторно запустите проект (это обновит вкладку Git)
  • Запустите Git/Дополнительно/Shell и введите

    git add *

    git commit -m "first commit"

    git remote add origin [email protected]:[username]/rpackage.git

    git push -u origin master

Затем вы можете обновить репозиторий на github. Теперь вы можете закрыть (или даже удалить) свой локальный проект, и в следующий раз вы сможете запустить новый проект Project/New project/Version Control/Git

Ответ 2

Вы можете указать путь к вашему репозиторию github в create вместо имени пакета:

create("/path/to/root/of/repository")

Затем нормальные команды git для добавления, фиксации и нажатия на github:

git commit -a -m "initial commit" *
git push

Ответ 3

Теперь существует setup(), который создает скелет внутри существующего каталога. Вместе с hub это будет:

git init NewPackage
cd NewPackage
Rscript -e "devtools::setup()"
hub create
git add .
git commit -m "initial"
git push -u origin HEAD