4

我有一个非常简单的 jQuery 插件,我已经编写并放置在 github 上。我正在使用 Github for Windows 和网站本身来管理项目。

不幸的是,如果我尝试通过链接包含我上传到那里的任何文件.js,它会在我的浏览器中失败,因为 MIME 类型是..cssRawplain/text

所以,在过去的几个小时里,我一直在研究如何通过 github 获取文件的副本,人们(包括我自己)可以链接到。第一步似乎是创建一个项目页面(gh-pages 分支)......我已经掌握了很多。

但是,到目前为止,我发现的所有材料要么期望您拥有基于 UNIX 的系统,要么执行一些基于控制台的技巧:

示例:GitHubSOSO

现在,必须有一种简单的方法来简单地使这些源文件可供包含。我完成了创建“项目页面”的自动化步骤,现在我看到了另一个声称位于“主”分支后面的分支,但我看不到接下来应该做什么。我什至不清楚为什么我需要创建另一个分支。整个事情似乎比它需要的要复杂得多。

所以,回顾一下:

  • 我在 Github 中创建了一个分支(使用 Windows 应用程序和网站)
  • 我可以毫无问题地管理它并更新我的文件
  • 我无法使用“原始”链接包含 .js 和 .css 文件
  • 我希望能够在页面中包含这些文件
  • 我想通过 Github for Windows 或在网站本身上执行此操作

如果有人可以帮助我完成此操作,我将不胜感激。另外,我希望很多其他人也会这样做。

编辑:这是一个著名的 Github 项目的示例,该项目的文件可通过 Github 获得:

选择2: http : //ivaynberg.github.io/select2/select2-3.4.2/select2.js

EDIT2:好的,从概念上讲,我现在明白为什么我必须创建一个单独的分支来共享文件 - 因为 Github 的源代码控制方面并不意味着充当 CDN,项目页面只是提供了一个公共网站您可以放置​​文件的地方。所以现在的问题变成了:如何将我的文件从 master 分支放入 gh-pages 分支?我现在不担心自动化它或任何事情,我想要的只是访问目录结构,以便我可以将文件放在那里。我已经尝试将我的分支与 Github Windows 同步和重新同步,但它告诉我从 gh-pages 分支中没有任何东西可获取,即使它是“落后 10 次提交”。到底是怎么回事?

EDIT3:添加了我自己的答案,对于我想出的(到目前为止)。

4

2 回答 2

5

如前所述,有很多信息可供使用基于控制台的 Git 软件的人使用。但是,我找不到有关如何仅通过 Github Windows 执行此操作的信息。好吧,这是解决方案:

过程:

  • 创建一个项目页面,如下所述:https ://help.github.com/articles/creating-pages-with-the-automatic-generator

  • 不幸的是,他们只有基于控制台的解决方案来获取本地副本。下面是其余部分在 Github Windows 中的工作方式...(假设:项目名称为myproject,由 myproject.js 和 myproject.css 组成)

  • 创建页面后(需要几分钟),打开 Github Windows。

  • 在 Github Windows 中,打开项目的存储库。在顶部菜单栏上有“同步”、“主”、“工具”。单击“master”并切换到“gh-pages”分支 - SO 示例

  • 执行此操作时,该文件夹C:\Users\YourName\Documents\GitHub\myproject现在将显示“gh-pages”分支的文件。如果单击“master”,在 Github Windows 中,它将更改文件夹结构以再次代表“master”分支。这就是我之前困惑的地方,你不能同时看到两个分支的目录结构。

  • 在 Github Windows 中选择“master”分支。

  • 在 Windows 资源管理器中,将 myproject.js 和 myproject.css 复制到单独的目录中(例如,c:\temp)。

  • 返回到 Github Windows 并选择“gh-pages”分支。

  • 返回 Windows 资源管理器并剪切您放入的文件c:\temp并将它们粘贴到类似的目录中C:\Users\YourName\Documents\GitHub\myproject\myproject-1.0\

  • 回到 Github Windows,你会看到“2 files to be commit”。输入您的提交信息,然后单击“提交”。

  • 然后点击“同步”。

  • 您现在可以使用以下 URL 在您的网页中包含这些文件:http://yourname.github.io/myproject/myproject-1.0/myproject.js

显然,如果您希望定期更新源文件,那么这样做会很痛苦因此,显然自动化方法将是最理想的。这里有一个关于 SO 的答案,不幸的是它涉及基于 UNIX 的脚本,我对此一无所知(而且,说实话,没有兴趣为此学习)。如果有人想出一种更有效的方法,只使用基于 GUI 的工具,我相信我自己和许多其他人都会有兴趣了解它。

编辑:这个解决方案显然篡夺了 Github 的预期做事方式,因为当我点击 github 网站上的“gh-pages”分支时,它告诉我它是 master 分支“提前 5 次提交,落后 11 次提交”,即使他们有相同的文件。所以,再一次,如果其他人有更好的基于 GUI 的解决方案来解决这个问题,我会全力以赴。

于 2013-08-29T01:55:00.830 回答
1

适用于 Windows 的 Git(hub) 软件是我用过的最有漏洞的东西(好吧,除了 Windows 本身)。当我使用 Windows 时,我几乎无法使用 Git 进行任何操作。

但是,无论如何,要回答您的问题,如果您打开命令提示符并输入

git checkout -b gh-pages

(如果它抱怨分支 gh-pages 已经存在,请删除-b.)

它应该切换分支。然后,您可以启动 notepad++ 或您使用的任何文本编辑器(您可能必须从终端执行此操作,我不记得了),添加所需的文件,然后输入(在 cmd 中):

git add .

这会递归地将文件夹中的所有文件添加到 Git。

git commit -m "Add file for easy user download"

这会添加提交消息。

git remote add origin git@github.com:yourusername/yourrepository.git

这添加了 Github 存储库,因此您可以推送到它

git push origin gh-pages

这会将您的更改推送到 Github。

而且,你都准备好了!

你可能想在 Git 分支上阅读这篇文章。

于 2013-08-29T01:27:39.110 回答