如何将GitHub存储库中的文件转换为Gist

33
我想做的是与这个问题相反。 我有一个GitHub仓库中的文件夹,其中包含我想继续进行更改的d3可视化。 将这个仓库转换成“gist”版本会很好,以便在bl.ocks.org上显示可视化,并在我满意后从主仓库中推送更改。
另一个类似的问题在这里,但答案描述了gist-> bl.ocks.org的步骤。 我不确定githup repo -> gist的步骤。 有什么最佳方法来完成这个任务?
1个回答

30

首先请注意,Gist不支持目录。要将存储库导入到Gist中,请按照以下步骤操作:

  1. 创建一个新的 Gist 并在本地克隆它(用您的Gist id替换“dummy id”):

git clone git@gist.github.com:792bxxxxxxxxxxxxxxx9.git
  • cd 到该 gist 目录

  • 从你的 GitHub 仓库中拉取并合并:

  • git pull git@github.com:<user>/<repo>.git
    
  • 推送您的更改

  • git push
    
    再次强调,如果您有目录,您需要删除并提交它们:

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

    使用上述步骤,将会保留项目历史记录。如果您不关心历史记录,您可以随时将文件推送到您的Gist中。假设您有一个包含多个文件夹的仓库,并且您想要为每个文件夹创建一个Gist。您将重复执行下一步操作(或者可以使用脚本完成):

    git clone git@gist.github.com:<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与GitHub的工作方式不同:

    Gist是一种简单的方法,用于与他人共享片段和粘贴内容。所有的Gist都是Git存储库,因此它们自动进行版本控制、可派生和可以使用Git。

    然而,如果您尝试在Gist中推送目录,您将从远程获取错误信息:

    $ 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 git@gist.github.com:792.....0b79.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'git@gist.github.com:79.......9.git'
    

    谢谢,但是你的意思是Gist不支持目录吗?我有一个仓库,里面有几个文件夹。每个文件夹里都有一个独立的d3可视化项目--每个文件夹都包含index.html、style.css等文件。我能不能通过这种方式将每个文件夹中的内容导入到单独的Gist中呢? - bill_e
    @Andre5 你需要为每个创建不同的Gist。如果你想自动化这个过程,可以使用Gists API - Ionică Bizău
    是的,这正是我想要做的,为每个创建不同的 gist。您的说明适用于这种情况吗? - bill_e
    @Andre5 如果是这样,你只需要复制(cp)你的Gist中的内容并提交即可。请参见编辑。 - Ionică Bizău
    啊,谢谢你的澄清,我现在会尝试一下。 - bill_e

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接