2015-10-05 35 views
15

我想要做的是與this question相反。我有一個github倉庫中的文件夾,其中包含我想繼續進行更改的d3可視化文件。如果有一個這個回購的「主要」版本來顯示bl.ocks.org上的可視化文件,我可以在我對他們滿意後從主回購庫推動更改,這將是很好的。如何將github回購中的文件轉換爲精華

另一個類似的問題是here,但答案描述了步驟gist - > bl.ocks.org。我不確定步驟githup回購 - >要點。什麼是完成這個最好的方法?

回答

16

首先,請注意Gist不支持目錄。要導入庫爲依據按照下面的步驟:

  1. 創建一個新的依據和本地克隆它(替換爲您吉斯特ID虛擬ID):

    git clone [email protected]:792bxxxxxxxxxxxxxxx9.git 
    
  2. cd到要點目錄

  3. 拉並從您的GitHub庫合併:

    git pull [email protected]:<user>/<repo>.git 
    
  4. 推更改

    git push 
    

再次提醒,如果您有目錄,你必須刪除並提交它們:

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

使用上述步驟,項目歷史會保持。如果你不關心歷史,你可以隨時在Gist中推送文件。假設您有一個包含多個文件夾的存儲庫,並且要爲每個文件夾創建一個Gist。你會重複接下來的步驟(或腳本能做到這一點):

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 

吉斯特比GitHub上是如何工作的不同:

要旨與分享片段和粘貼的簡單方法其他。所有的要點都是Git倉庫,所以它們自動版本化,可以從Git中進行分叉和使用。

然而,如果你試圖把目錄中的要旨,你會從遠程獲取錯誤:

$ 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

謝謝你,但你是什麼意思要點不支持目錄?所以我有一個回購,有幾個文件夾。在每個文件夾內是獨立的d3可視化 - 每個文件夾都包含index.html,style.css等。我可以將每個文件夾中的內容以這種方式導入到單獨的Gist中嗎? –

+0

@ Andre5你將不得不爲每一個創建不同的要點。如果您想自動執行此過程,則可能需要使用[Gist API](https://developer.github.com/v3/gists/)。 –

+0

是的,這正是我想要做的,爲每一個創造不同的要點。你的指示會適用於這種情況嗎? –