github固然好。仅仅是国内訪问有点慢。

为了提高博客訪问速度我决定把github上托管的博客同步到gitcafe上。最好能在DNS那里做CDN,可是貌似没有免费的服务。那直接指向gitcafe好了。反正没有什么国外訪问的需求。

简单记一下过程。

gitcafe自己有导入的功能。可是貌似不是非常好用。

并且不够智能。所以我们先建立一个跟username一样的文件夹。

gitcafe仅仅同意这样的方式的Html页面生成。并且仅仅渲染gitcafe-pages分支。

我们改动source分支.git/config增加

[remote "cafe"]
url = git@gitcafe.com:xxx/xxx.git
fetch = +refs/heads/*:refs/remotes/cafe/*

因为

[branch "source"]
remote = origin
merge = refs/heads/source

所以当前source分支(这以下我没有master)默认提交到origin(github),所以我们通过

git push cafe

提交source,会被扩展成:

git push cafe source:source "当前分支

然后提交deploy。这是渲染之后的html页面,前面那个是octopress的源代码。改动deploy/.git/config

[remote "cafe"]
url = git@gitcafe.com:chenxiaohui/chenxiaohui.git
fetch = +refs/heads/*:refs/remotes/cafe/*

然后提交:

git push cafe master:gitcafe-pages

本地分支名字和远程分支不同的时候不能省略,否则会被自己主动扩展成同样的名字。

这就是问题了。我们多了一个master分支….

依照gitcafe的教程删除master未果。只是顺便把默认分支改成了gitcafe-pages。删除master分支的时候,里面有一段说明:

为什么要删除 master 分支
当你在创建一个新的仓库的时候没有指定分支的话。Git 会默认创建 master 分支并指定它为默认分支。 普通情况下使用 master 分支作为整个项目的核心分支是非常普遍的行为, 而 Pages 服务之所以使用 gitcafe-pages 分支的方式差别项目文件和 Pages 文件。 这样你就能够在一个仓库中保存他们并且彼此不会有不论什么影响。 可是像是个人主页类的 Pages 服务或其它一些应用场合,可能并不须要 master 的存在, 甚至必须要删除它。或者仅仅是你有洁癖┑( ̄Д  ̄)┍ 那么你就须要例如以下的方法来删除 master 分支。

(#‵′)靠,就是这样。

最后改动一下Rakefile

...
system "git push origin #{deploy_branch}"
system "git push cafe #{deploy_branch}:gitcafe-pages"
puts "\n## Github Pages deploy complete"
end
... puts "\n## Pushing source"
system "git push origin "
system "git push cafe"
puts "\n## Github source pushed"

当然问题是同一个本地分支track了两个远程分支,可是默认值仅仅能配置一个:

[branch "master"]
remote = cafe
merge = refs/heads/gitcafe-pages

这说明master分支上更新gitcafe必须指明repository。好在我们直接用git push/pull不带不论什么參数的时候不多。同一时候假设git pull的话。默认的merge两个repository是不同的,好在我们也一般不用从两个repository上面pull。

顺便去挂一下域名就好了。

矮马。快多了。

原文链接:http://cxh.me/2014/06/28/gitsync-github-gitcafe/

版权声明:本文博客原创文章。博客,未经同意,不得转载。

同步github工程gitcafe的更多相关文章

  1. git同步github代码

    yum install -y git 在linux下搭建git环境1.注册Github账号,网站:https://github.com2.Linux创建SSH密钥:git  config  --hel ...

  2. 同步 Github fork 分支

    /**************************************************************************** * 同步 Github fork 分支 * ...

  3. 解决pycharm创建github工程但push失败的问题

    1.运行git-cmd.exe; 2.d:   cd  工程路径 3.执行命令:git remote set-url origin https://github.com/wawj901124/jmet ...

  4. 【转】Android studio 导入github工程

    http://blog.csdn.net/feixiaku/article/details/45155587/ 从github下载两个开源项目: PagerSlidingTabStrip    |   ...

  5. Android studio 导入 github 工程

    最近从 github 下载两个开源项目,导入 Android Studio 都以 Studio 卡死结束.第一次以为是项目问题,第二次查询资料发现导入方式不正确,在此整理. 原目录结构如下: Andr ...

  6. 快速同步GitHub代码库

    因伟大的墙的存在,github下载速度奇慢, 简单办法,在csdn code建一个账号,然后创建工程的时候选择导入模式, 填入github的项目git URL. 然后.. 从csdn的code下载就快 ...

  7. 如何更改github工程的语言属性

    当创建github项目的时候,github本身会根据提交文件的数量来自动推断工程的开发语言,有时这种推断结果会与实际情况不太相符.比如上传一个java的web工程,如果在工程里存在大量的html.ja ...

  8. 新电脑配置 git 同步github账户

    1.下载安装git 2.初始化 仓库文件夹 git init 3.生成公钥ssh-keygen -t rsa -C "youremail@example.com"4.github ...

  9. 借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决

    前言 GitHub作为程序员必备的学习交流平台,虽然在国内速度不算快,但只要好好利用这个平台,我相信还是可以学习到很多东西.在暑期的时候,我曾经就初次远程连接到了GitHub,但开学后,不知道为什么又 ...

随机推荐

  1. 【Nginx笔记】nginx配置文件具体解释

    本文主要对nginx的配置做重点说明,关于nginx的其他基本概念.建议參考官网描写叙述.这里推荐Nginx Beginner's Guide这篇文档.对刚開始学习的人高速认识nginx非常有帮助. ...

  2. SQL SERVER之数据查询

     本篇主要解说查询语句,全部的演示样例都会依照以下这张表进行. stuID stuName age sex 11090241031 王小虎 21 男 11090241032 王小六 22 男 11 ...

  3. POJ2392 SpaceElevator [DP]

    题目大意:有一头奶牛要上太空,他有非常多种石头,每种石头的高度是hi,可是不能放到ai之上的高度.而且这样的石头有ci个 将这些石头叠加起来.问可以达到的最高高度. 解题思路:首先对数据进行升序排序. ...

  4. hdc和hwnd的区别

    句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色.但由此而产生的句柄概念也大同小异,比如:<<Microsoft   Windows   3   Develo ...

  5. Shell 文件包含

    和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空 ...

  6. sed正则表达式

    sed的正则匹配如何实现非贪婪? sed的正则用的是BREs/EREs,不支持非贪婪模式.当然有一些方法可以实现非贪婪,比如: $ echo abcOabcdOabc | sed 's/.*O//' ...

  7. poj 3082多边形相交 'Roid Rage

    题意是判断多边形是否相交 主要的思路就是判断每一个点是否在另外的多变形内 判断一个点是否在另一个多边形内主要思路是: 判断的那个点向左边做射线,如果射线与多边形的交点为奇数个则在多边形内,偶数个则不在 ...

  8. UVA 565 565 Pizza Anyone? (深搜 +位运算)

      Pizza Anyone?  You are responsible for ordering a large pizza for you and your friends. Each of th ...

  9. 基于FPGA的红外遥控解码与PC串口通信

    基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...

  10. 做web项目时对代码改动后浏览器端不生效的应对方法(持续更新)

    做web项目时,常常会遇到改动了代码,但浏览器端没有生效,原因是多种多样的,我会依据我遇到的情况逐步更新解决的方法 1.执行的时候採用debug模式,普通情况下使用项目部署button右边那个butt ...