2015-10-05 9 views
15

Was ich tun möchte, ist das Gegenteil von this question. Ich habe einen Ordner in einem GitHub Repo, der eine d3-Visualisierung enthält, an der ich gerne Änderungen vornehmen würde. Es wäre schön, eine "gist" -Version dieses Repos zu haben, um die Visualisierung auf bl.ocks.org zu zeigen, auf die ich nach dem primären Repo Änderungen vornehmen könnte, nachdem ich mit ihnen zufrieden bin.Wie konvertiert man Dateien in Github Repo zu einem Geist

Eine andere ähnliche Frage ist here, aber die Antworten beschreiben den Schritt gist -> bl.ocks.org. Ich bin mir nicht sicher über den Schritt git- Was ist der beste Weg, dies zu erreichen?

Antwort

16

Beachten Sie zunächst, dass Gist Verzeichnisse nicht unterstützt. Wenn Sie ein Repository in einen Kern importieren, um die nächsten Schritte folgen:

  1. Erstellen Sie einen neuen Kern und klonen Sie es lokal (ersetzen Sie die Dummy-ID mit Gist id):

    git clone [email protected]:792bxxxxxxxxxxxxxxx9.git 
    
  2. cd zu diesem Kern

    Verzeichnis
  3. Pull und fusionieren von Ihrem GitHub-Repository:

    git pull [email protected]:<user>/<repo>.git 
    
  4. Änderungen drücken

    git push 
    

Auch hier beachten Sie, dass, wenn Sie Verzeichnisse haben, müssen Sie sie löschen und begehen:

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

die oben genannten Schritte verwenden, wird das Projekt Geschichte sein gehalten. Wenn Sie sich nicht um Geschichte kümmern, können Sie immer Dateien in Ihrem Gist schieben. Angenommen, Sie haben ein Repository mit mehreren Ordnern, und Sie möchten für jeden Ordner einen Gist erstellen. Sie werden die nächsten Schritte wiederholen (oder ein Skript könnte das tun):

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 ist anders als wie GitHub funktioniert:

Gist ein einfacher Weg ist, Schnipsel und Pasten zu teilen mit Andere. Alle Bestandteile sind Git-Repositories, so dass sie automatisch versioniert, ausgabefähig und von Git aus verwendbar sind.

Wenn Sie jedoch versuchen, Verzeichnisse in Gists drücken werden Sie Fehler aus der Ferne erhalten:

$ 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

Danke, aber was meinst du Gist keine Verzeichnisse unterstützt? Also, was ich habe, ist ein Repo mit mehreren Ordnern. In jedem Ordner befindet sich eine eigenständige d3-Visualisierung - jeder Ordner enthält index.html, style.css usw. Kann ich den Inhalt jedes Ordners auf diese Weise in separate Gists importieren? –

+0

@ Andre5 Sie müssen für jeden einen unterschiedlichen Inhalt erstellen. Wenn Sie den Prozess automatisieren möchten, können Sie die [Gists API] (https://developer.github.com/v3/gists/) verwenden. –

+0

Ja, das ist genau das, was ich machen möchte, erstelle für jeden einen unterschiedlichen Inhalt. Werden Ihre Anweisungen in diesem Fall angewendet? –

Verwandte Themen