2015-10-05 19 views
15

Quello che vorrei fare è l'inverso di this question. Ho una cartella all'interno di un repository github che contiene una visualizzazione d3 su cui vorrei continuare a apportare modifiche. Sarebbe bello avere una versione "gist" di questo repository per visualizzare la visualizzazione su bl.ocks.org che potrei spingere i cambiamenti a quando dal repository primario dopo che sono felice con loro.Come convertire i file in github repo in un aspetto

Un'altra domanda simile è here, ma le risposte descrivono il passo gist -> bl.ocks.org. Non sono sicuro del punto gepup repo -> gist. Qual è il modo migliore per farlo?

risposta

16

Prima di tutto, si noti che Gist non supporta le directory. Per importare un repository in una sostanza seguire i seguenti passi:

  1. Creare un nuovo succo e clonarlo localmente (sostituire l'id manichino con il tuo ID Gist):

    git clone [email protected]:792bxxxxxxxxxxxxxxx9.git 
    
  2. cd a quella Gist directory

  3. Pull e unire dal repository GitHub:

    git pull [email protected]:<user>/<repo>.git 
    
  4. Spingere le modifiche

    git push 
    

Anche in questo caso, si noti che se si dispone di directory, è necessario eliminare e impegnarli:

rm -rf some-directory 
git commit -m 'Removed some-directory' . 

Utilizzando la procedura descritta sopra, la storia del progetto sarà tenuto. Se non ti interessa la cronologia, puoi sempre inserire i file nel tuo Gist. Supponiamo che tu disponga di un repository contenente più cartelle e che tu voglia creare una Gist per ogni cartella. Si ripeterà i prossimi passi (o uno script potrebbe fare):

git clone [email protected]:<gist-id>.git 
cd <gist-id> 
cp ../path/to/your/github/repository/and/some/folder/* . 
git add . 
git commit -m 'Added the Gist files' . 
git push 

Gist è diverso da come GitHub funziona:

Gist è un modo semplice per condividere frammenti e paste con altri. Tutti gli elenchi sono repository Git, quindi sono automaticamente versione, forkable e utilizzabili da Git.

Tuttavia, se si tenta di spingere le directory nei GIST si otterrà gli errori da remoto:

$ git push 
Counting objects: 32, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (21/21), done. 
Writing objects: 100% (32/32), 7.35 KiB | 0 bytes/s, done. 
Total 32 (delta 10), reused 0 (delta 0) 
remote: Gist does not support directories. 
remote: These are the directories that are causing problems: 
remote: foo 
To [email protected]:792.....0b79.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:79.......9.git' 
+0

Grazie, ma cosa vuoi dire Gist non supporta le directory? Quindi quello che ho è un repository, con diverse cartelle. All'interno di ogni cartella c'è una visualizzazione d3 standalone - ogni cartella contiene index.html, style.css ecc. Posso importare i contenuti all'interno di ciascuna cartella in questo modo in Gists separati? –

+0

@ Andre5 Dovrai creare diversi gists per ognuno. Se si desidera automatizzare il processo, è possibile che si desideri utilizzare l'[API dei risultati] (https://developer.github.com/v3/gists/). –

+0

Sì, è esattamente quello che voglio fare, creare diversi gists per ognuno. Le tue istruzioni si applicano in questo caso? –

Problemi correlati