2013-07-08 5 views
11

Come posso creare un nuovo repository su github usando devtools in RStudio? Ho provato a:Avvia il nuovo sviluppo del pacchetto R su github

  1. Creare repository su GitHub vuoto denominato "MyNewRPackage"
  2. Iniziato nuovo progetto in RStudio utilizzando la connessione SSH al mio repository git
  3. installato e caricato devtools

Poi Ho pensato di utilizzare create("MyNewRPackage") per inizializzare la struttura delle directory e il file README.md. Ma lo scheletro del pacchetto è stato creato come sottocartella del mio progetto e ho ~/MyNewRPackage/MyNewRPackage/R. Ma ho bisogno di creare lo scheletro del pacchetto nella cartella principale del mio repository github.

Qual è il modo standard per avviare lo sviluppo di nuovi pacchetti R su github utilizzando devtools e RStudio?

risposta

14

Speranza questo aiuta qualcuno:

  1. Creare un repository vuoto su github (Userò il nome rpackage in questo esempio)
  2. creare un pacchetto localmente utilizzando devtools, create("rpackage") (questa cartella rpackage creerà)
  3. Crea nuovo progetto in RStudio (Crea progetto da: directory esistente) e scegliere rpackage directory
  4. In RStudio andare in Strumenti/Shell ... e il tipo git init
  5. riaprire il progetto (questo sarà aggiornare la scheda Git)
  6. Inizio Git/Altro/Shell e digitare

    git add *

    git commit -m "first commit"

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

    git push -u origin master

Quindi è possibile aggiornare repository su github. Ora è possibile chiudere (o addirittura eliminare) il progetto locale e la prossima volta si può iniziare un nuovo progetto Progetto/Nuovo progetto/Version Control/Git

+0

Vorrei usare 'git push -u origine master --force' – xhie

2

È possibile specificare il percorso del repository github in create al posto del nome del pacchetto:

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

Poi i comandi git normale per aggiungere, impegnarsi e spingere a GitHub:

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

Se provo 'creare ("/ home/xxx/MyNewRpackage")' ottengo: 'Errore: Directory già exists'.Questo è vero, perché ho già iniziato un nuovo progetto e ho tirato il repository vuoto da github. Dovrei in qualche modo riordinare i miei passi? –

+2

Sì, 'devtools: create' non calpesterà qualcosa che già esiste. – Spacedman

0

Ora c'è setup(), che crea lo scheletro all'interno una directory esistente. Insieme a hub, questo diventa:

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