Github Windows:使用'master'和'gh-pages'分支

时间:2013-08-29 00:48:25

标签: javascript jquery css github github-for-windows

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

不幸的是,如果我尝试通过.js链接添加我在其中上传的.cssRaw个文件,则由于MIME,我的浏览器会失败-type为plain/text

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

但是,到目前为止我发现的所有材料都要求你拥有一个基于UNIX的系统,或者做一些基于控制台的技巧:

示例:GitHubSOSO

现在,必须是一种简单的方法,可以简单地将这些源文件包含在内。我经历了创建“项目页面”的自动化步骤,现在我遇到了另一个声称是在“主”分支后面的分支,但我看不出接下来要做什么。我甚至不清楚为什么在地球上我需要建立另一个分支。这整件事看起来要复杂得多。

所以,回顾一下:

  • 我在Github中创建了一个分支(使用Windows应用和网站)
  • 我可以管理,并更新我的文件,而不会发生意外
  • 我无法使用“原始”链接
  • 包含.js和.css文件
  • 我希望能够在页面中包含这些文件
  • 我想通过Github for Windows或网站本身
  • 来做这件事

如果有人能帮我解决这个问题,我会很感激。此外,我希望其他人的 A LOT 也是如此。

编辑:以下是一个众所周知的Github项目示例,该项目通过Github提供其文件:

Select2http://ivaynberg.github.io/select2/select2-3.4.2/select2.js

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

EDIT3:我已经提出了我自己的答案(到目前为止)。

2 个答案:

答案 0 :(得分: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 example

  • 执行此操作时,文件夹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个文件”。输入您的提交消息,然后单击“提交”。

  • 然后点击“同步”。

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

如果您希望定期更新源文件,显然这是一种巨大的痛苦。显然,自动化方法是最理想的。在SO here上有一个答案,不幸的是它涉及基于UNIX的脚本,我对此一无所知(并且,实际上,没有兴趣为此学习)。如果有人提出了一种更有效的方法,只使用基于GUI的工具,我相信我和其他许多人都会有兴趣听到它。

编辑::该解决方案显然是篡夺GitHub的打算做的事情,当我的“GH-页”分支点击GitHub的网站它告诉我,这是对的方式“5条进取, 11提交“主分支”,即使它们具有相同的文件。所以,再说一次,如果其他人有一个更好的基于GUI的解决方案来解决这个问题,我会全力以赴。

答案 1 :(得分:1)

适用于Windows的Git(hub)软件是我曾经使用过的最蠢的东西(除了Windows本身之外)。回到我使用Windows时,我几乎无法与Git合作。

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

git checkout -b gh-pages

(如果它抱怨已经存在分支gh页面,请删除-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分支上的this