怎么推送自己的代码到从github下载代码上

2236人阅读
GitHub(网址 )是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。
GitHub的注册用户已经超过百万,托管的版本库数量已超三百万,其中不乏知名的开源项目,如:Ruby on Rails、Hibernate、phpBB、jQuery、Prototype、Homebrew等。
GitHub于日正式发布,相比始于1999年的SourceForge和2005年的GoogleCode,GitHub后来者居上。以2011年的数据从代码提交数量上看,GitHub已经超越其前辈,如图1所示。
图1:开源项目托管平台提交数量对照
<span style="color:# 创建github帐号及环境配置
到创建用户帐号,这个大家都会。创建完进入后界面如下:
在右上角依次有用户名(我的是xiahouzuoxin)、create a new rope图标、Account Settings图标、Sign Out图标。
点击Account Settings图标进入用户设置界面(如下图),我们这里只讨论如何设置SSH
Keys,其它的都是些信息,自己设置。
在设置SSH Keys之前,先运行下面的命令试试,
Permission denied (publickey).显示登录失败。这是因为没有设置公钥(publickey)的缘故,这也是为什么要对SSH Keys设置的原因。
下面为设置步骤:
(1)生成公钥和私钥
$ ssh-keygen -C && -f ~/.ssh/gotgithub
为你的邮箱,gotgithub为私钥文件名,对应的公钥文件名为gotgithub.pub,这个文件名可以自己命名,这连个密钥文件都保存在~/.ssh/目录下。
(2)配置config
当生成的公钥/私钥对不在缺省位置(~/.ssh/id_rsa等)时,使用ssh命令连接远程主机时需要使用参数-i&filename&指定公钥/私钥对。或者在配置文件~/.ssh/config中针对相应主机进行设定。例如对于上例创建了非缺省公钥/私钥对~/.ssh/gotgithub,可以在~/.ssh/config配置文件中写入如下配置。
PreferredAuthentications publickey
IdentityFile ~/.ssh/gotgithub
(3)在github网站的账户设置的SSH
Keys选项卡中新建SSH Key (Add SSH Key)
Title中随便填入一个名字。
进入~/.ssh/目录,打开公钥文件gotgithub.pub,将其中的内容拷贝到Key框中。注意,拷贝时切莫在其中插入多余的换行符、空&#26684;等,否则在公钥认证过程因为服务器端和客户端公钥不匹配而导致认证失败。
(4)验证是否配置成功,
$ ssh -T 若出现类&#20284;
Hi xiahouzuoxin! You've successfully authenticated, but GitHub does not provide shell access.
的提示,说明密钥配置成功。
(5)设置用户信息
$ git config --global user.name &xiahouzuoxin&
//给自己起个用户名
$ git config --global user.email
&&//填写自己的邮箱
注:github仓库对应多种地址,一个是通过http访问的地址,一个是通过ssh访问的地址。举例,
HTTP&#26684;式地址为:
SSH&#26684;式地址为:
通过http地址访问时可以不用配置公钥(PublicKey),但每次访问时都需要输入github的用户名和密码。
初次使用——创建一个项目
用户登录后系统,在github首页,点击页面右下角
填写项目信息:
project&name: zx-libsvm
description&:&my&first&project
点击;&现在完成了一个项目在上的创建。
说明:我们创建的是一个仓库,一个仓库里只能存放(或叫对应)一个项目。
如果是从头创建版本库,可以采用先克隆,建立提交数据,最后再通过推送完成GitHub版本库的初始化。步骤如下:
克隆版本库。
$ git clone :xiahouzuoxin/zx-libsvm.git
克隆过程会显示警告,不过这个警告可以忽略,因为GitHub创建的版本库本来就是一个空白的版本库。克隆地址在项目页面右下角可以看到,选中SSH URL方式,如下图右下角。&&
创建文件README.md。
READNE文字采用Markdown&#26684;式,您也可以使用其他支持的&#26684;式,只要确保README文件使用正确的扩展名。本书附录部分介绍了Markdown及其他GitHub支持的标记语言。关于Markdown,目前我们只需知道这一个易于识别和理解的纯文本&#26684;式,可以方便的转换为HTML。Markdown语法非常像我们在写邮件(纯文本)时用空行来分隔段落、用星号开启列表、用缩进表示引用内容等等。
添加README.md文件并提交。注意:此时是提交到本地的git库中。
$ git add README.md
$ git commit -m &README for this project.&
向GitHub推送,完成版本库初始化。此时提交到github上。
$ git push origin master
这就完成了一个基本的git clone和源文件修改后往github上推送的功能。
常用命令(转自Ref[2])
假如你现在新创建了一个项目,想把它提交到github上面?
假设你创建好了一个项目,并切换到项目的根目录下面:
$&git&status&& //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
$&git&add&.&&&//(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。
Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。
$&git&commit&–m”discription ”&&//对你更新或修改了哪些内容做一个描述。
$&git&remote&add&origin&:xiahouzuoxin/zx-libsvm.git
// 如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。
Ps:&origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。
$&git&remote&-v&&//查看你当前项目远程连接的是哪个仓库地址。
$&git&push&-u&origin&master&&//将本地的项目提交到远程仓库中。
&------------------------------------------------------------
假如,你回到了家,想把公司提交的项目克隆到本地?
如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。
$&git&clone&:xiahouzuoxin/zx-libsvm.git&
//在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。
假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?
$&git&fetch&origin&&&&//取得远程更新,这里可以看做是准备要取了
$&git&merge&origin/master&&//把更新的内容合并到本地分支/master
-------------------------------------------&
项目中删除了一些文件,如何提交?
假如远程仓库中已经存了aaa这个文件,我fetch了下来,并删除了aaa这个文件,想再push上到远程仓库中,并使远程仓库中的项目被新的修改覆盖(也就是远程仓库中的aaa也被删除)
$&git&status&&&//可以看到我们删除的哪些文件
$&git&add&.&&&//删除之后的文件提交git管理。
$&git&rm&&&src/com/hzh/hibernate/dao/aaa.java&&&&//移除我们删除的那个文件,不然git不允许我们往远程仓库提交。
Ps:&如果你想删除的是某个目录(java包),这里想移除整个目录的内容。
$&git&rm&&src/com/hzh/hibernate/bbb/&-r&&&//&-r&会把bbb/目录下的所有内容一次性移动。
------------------------------------------------------------------------
远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来?
其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。
$&git&remote&add&origin&:xiahouzuoxin/zx-libsvm.git
//还是这个命令,在你push项目之前加上这一句就OK了。
:xiahouzuoxin/zx-libsvm.git&就是你常见的新仓库的地址啊。git切换到新项目下,在push之前,加上这一句,我们创建的新仓库就与新项目建立了连接。
[1] http://www.worldhello.net/gotgithub/index.html
[2] /fnng/archive//2315685.html
[3] /articles/set-up-git
[4]&& &Windows下的github客户端
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:266250次
积分:4610
积分:4610
排名:第2274名
原创:181篇
转载:44篇
评论:212条
2014年3月以来所有文章都在Github维护,这里如果存在格式问题,请移步:
文章:17篇
阅读:19318
文章:10篇
阅读:26974
(2)(3)(8)(1)(9)(5)(15)(4)(4)(9)(6)(10)(6)(14)(9)(5)(10)(31)(20)(7)(2)(4)(8)(6)(6)(16)(4)(2)
更多请查看扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口最新消息:新易博客上线,,分享互联网,那点事!!!!!!
自从用上hexo以后,腰不疼了,腿也不酸了,走起路来呢,也有劲儿了。
但是在win下配置Node.js总是有些地方出错,作者也说会有些问题,后来虽然问题解决了,win下配置无压力了,但是总是不能做到随时随地上传。
Nitrous.io来了
前些日子突发奇想,既然这个在云端的IDE这么好用,那么看看是不是可以用来装一个hexo?
说做就做,用Node.js为环境重开了一个box,进去后果然可以配置成功,接下来把本地的blog文件夹打包传上去,一切都是那么美好。
接下来我就可以随时随地在本地用编辑器写blog,传到Nitrous.io上面只需hexo generate --deploy就可以啦。
用上Nitrous.io之后,只要在本地编辑好.md的博文,上传后随时随地运行hexo generate --deploy即可畅快的发文,可是,不同电脑之间的同步也是一个要去解决的问题,否则在一个没有安装hexo的机子上用Nitrous发表后,文章无法同不到Linux到机器上也是一个问题,于是想到了用github来管理blog。
推送你的blog文件夹到github
在github建立repositories,名字为命名为blog(你用hexo init的文件夹名)
在本地进入blog文件夹,git init建立仓库
建立.gitignore文件,里面填写public/(由于public每次generate都会更新,故此忽略pulic文件夹的git管理)
用命令git add .告诉git,把所有文件添加到仓库
用命令git commit -m "add all files"把文件提交倒仓库
把本机的.SSH添加到github,如果没有.SSH目录用此命令添加ssh-keygen -t rsa -C "your\_"
把本机仓库的内容推送到github仓库:
git remote add origin :michaelliao/learngit.git
git push -u origin master
如何用github来管理hexo的source
写博客后,git add &file&添加到代码库
提交当前修改作为一个记录:git commit -m 修改了&修改的文件&,原因是:……。
更新代码:git push
在另一电脑,git clone &address&:复制代码库到本地。
当远端github有更新时,git pull:从远程同步代码库到本地。
转载请注明: &
本文作者:
与本文相关文章GitHub时代:为什么我们都在开源
发表于 14:40|
来源Wired|
作者Mikeal Rogers
摘要:GitHub的本意是旨在成为一种开放的软件协作平台,但它目前已成为一个巨大的综合性的平台,其作用远远超过单纯地开源代码。它已经被新一代的人们授权进行协作、创造和生产。未来掌握在新一代手中,并且已经在进行改变。GitHub不仅仅是一个工具:我们正在见证一个新文化的诞生。
是Getable的CTO以及NodeConf的负责人,日前,他撰文称,我们正在进入GitHub时代,新一代的人们正在塑造一个全新的开源文化。以下为文章全文:GitHub的本意是旨在成为一种开放的软件协作平台,但它目前已成为一个巨大的综合性的平台,其作用远远超过单纯地开源代码。它现在在艺术家、建筑商、业主等许多领域使用。芝加哥市最近宣布:“当建立新的自行车道时,当道路正在施工时,当兴建新的建筑时,任何人都可以更改数据。”人们在GitHub上管理家庭装修项目。去年,甚至有人在GitHub上公开了德国的所有法律。当然,GitHub仍然主要被程序员和开发人员所使用。随着曾经的用户转变为生产者,他们正在重新塑造开源的文化。不会集中革命当大多数人听到“开源”,他们认为它是民主的、分布式的、平等的:每个人建设的东西放在一起,供其他人使用。但是,实际上并没有这样。大多数开源软件已经被专业开发人员创建和维护,他们与其他很像他们的开发人员互动。在GitHub之前,我花了很多时间思考和讨论管理开源项目的最佳方式,因为协调一个开源项目的成本是很重要的。事实上,当一个项目做的很好,并且增长成为一个足够大的社区时,项目比分裂成小项目成长更有意义。但一个软件项目越大和越复杂,越难以做出贡献。所以,各种各样的成员的任务都是管理和生产项目,这往往导致一个项目之间生产和消费的裂痕。GitHub通过更分散的开源解决这个问题。使用GitHub的工作流程是非常个人的。开发人员和设计人员直接对他们所开发的内容负责,只要他们已经准备好了就可以随时发布。这个工作流程很有用:它鼓励个人解决问题。这也给所有用户提供了一个新的开源文化的认同;GitHub实际上是互联网上对等生产的头号身份供应商。我参与开源项目已超过10年,但不同的是,我不是这些项目的“会员”——我只是一个“用户”,一个贡献很小的用户。我和项目维护者之间仅在我使用的各种小项目上,每周发生有限的几次交流。甚至更多的时候,它发生为另一种情况:我从未看过有人给我已经发布的小项目发送任何代码。民主的权利下放GitHub的第一个版本做了一件很好的事:他们使你的代码更容易被发布。这对于许多重大项目来说足够了,包括Ruby on Rails,几乎可以立即移动到GitHub上。但接下来发生的事情更有趣:人们开始在GitHub上发布一切。推送代码变得几乎成为了例行程序,就像发微博。通过降低进入壁垒,使其更容易协调和促进开源,GitHub对普通用户扩大了对等生产。今天,一个巨大前景是,简单易懂的软件都可以被过去没有必要的深度技术知识参与大型开源项目阶层的人所访问。这种生产者、贡献者、消费者之间的模糊关系自然值更小、项目更容易理解。例如,在2012年9月,GitHub上推动“变更集合”活跃用户中,有半数的人只推送不到5个变更集合,有22%(约44000人)每月只推送一个单一的变更。这个业余化的开源软件有一些明显的好处。使事情变得更容易使用开源软件的一个长期问题是完美兼容。糟糕的文档、网站设计和可用性一般来说一直表现不佳,尤其是与许多专有同行相比。但现在,随着贡献门槛的降低,非技术用户看到这些领域是容易提高他们依赖软件的地方。(这意味着神秘的错误消息这样的小事件得到更多的人性化解决,并且微小的一行CSS的变化,就可让网站正确的呈现在古老的浏览器和手机上)。在新的开源时代,人们希望使用技术而不必成为这方面的一个专家。易用性比以往更受重视。防止过渡设计工程师喜欢寻找更多的方法来解决问题,以及更聪明的解决方案。当这些解决方案的消费者与工程师志同道合时,这也是挺好的,他们很高兴用巧妙的方法来解决老问题。但业余爱好者不一样,他们对于解决方案的看法是:一旦一个问题解决了,他们将很少回头重新审视它。并且因为业余爱好者只能构建最理解的解决方案,它迫使开发人员创建简单的解决方案,使困难的问题很容易理解。支持更广泛的生态系统在Node.js,我积极参与,定义了足够的简单模式,人们可以编写独立的小库并随意进行推送。每个在生态系统中贡献的人都可以使用这个值,不用任何协调。这是完全相反的大型垂直堆栈,其有着大量的工具和功能(如像ember, Dojo, and YUI那样的集成插件系统),这是在专有的环境中取得成功所需要的。但在开放的环境中,如GitHub上的Node.js,我们看到更小的API尺寸,可以轻松利用生态系统中值的其余部分,而不用协调(例如回调在jQuery上的API或节点的标准回调模式)。开发人员与库之间的协调越少,我们可以创造的价值越大。GitHub已经被新一代的人们授权进行协作、创造和生产。很多开发人员将对传统的文化规范的丢失表示哀叹,但未来已经掌握在新一代手中,并且已经在进行改变。这不仅仅是一个工具:我们正在见证一个新文化的诞生。(王旭东/编译 仲浩/审校)本文来自:
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章从协作编码到婚礼请柬:GitHub正趋于主流 | 36氪
Bubby Rayber大婚的日子来的太快了。当时已是四月中,而不到一个月之后他就要在印度南部举办一场旷日的千人庆典。他亟需一个能快速传播婚讯的方法。因此这名28岁的LinkedIn高级系统工程师,转而向一个他很熟悉的网站寻求帮助。Rayber通过程序员们最爱访问的社交网站向其好友们发出了。
事实上通过GitHub发送婚礼请柬的事并不多见。发起于2008年的GitHub是一个软件工程协作平台,其主要功能是保存你的工作成果,并对提交的各种变化进行全面跟踪。同时其内容面向全世界共享,并接受各种评论。程序员们对此津津乐道。直到最近,其业务已经开始不满足于此了。
正如前文所述,婚礼请柬与开源软件项目的共同点其实比你能想到的更多。在Rayber的例子中,就在他刚刚上传了自己婚礼请柬后不久,一名宾客就修改了其中一处笔误,而另外一人则添加了一条文辞可爱的祝贺。而GitHub的员工则认为这种协作方式代表了未来:任何人都可以向任何项目谏言,而针对解决方法的讨论就像在Facebook发文一样简单便捷。
GitHub联合创始人兼CEO,Tom Preston-Werner谈到:
我们为软件开发所打造的开放协作流程非常诱人,以至于具备高协作性的非软件项目都会为此吸引。
就在去年,Twitter的首席律师Benjamin Lee通过GitHub为工程师们起草了一份新的专利许可协议。而不久之后,GitHub用户们就为其修正了很多小的语法错误。再后来,Twitter联合创始人Evan Williams的孵化器创业公司商业运营总监Trishan Arul又建议加入一些文本,Lee表示接受。
在另一个迥异的领域中,来自德州一家圣公会教堂的音乐总监Adam Wood正尝试将一份格列高利圣咏的大纲上传至GitHub。他认为对于唱诗班总监而言,那是最好的用来分享和改进各种音乐的服务平台。
GitHub这家拥有5年历史,三百四十万用户的网站已经成为了黑客圈中最炙手可热的社区。程序员们乐于在其上分享项目雏形,并众包各种改进。但是公司本身有着更大的志向:改变人们的工作方式。首当其冲的当然是软件开发人员,而后将是任何与文字修编有关的工作。例如律师,作者,甚至是公务员,都会乐于接受GitHub的协作方式。
对于初来乍到者,GitHub就好像某种意义上将视频美图抽象为代码片段版本的Facebook。但其实很多内在的观念是想通的。你可以“追随”其他黑客的动态来了解他们在做些什么。你还能够在他们的代码上加评论。就像在Facebook上评论照片一样。你甚至可以为项目“加星”来表达你对它的喜爱,就如同在Twitter上标注“最爱”一样。
但它还远远不止是社交网络。人们通过它发掘感兴趣的新项目,调试并改造,尝试新想法。然后通过推送按钮,将更新融合入项目。你还可以对项目进行“分叉”。这是GitHub中对于复制项目的术语。你可以通过复制一个项目,进而修改并建立你自己独立的版本。
事实上人们不仅限于对Lee的Twitter版权专利修改提出建议。那份专利被复制了53次:其中包括Arul,一名波特兰的计算机专业学生,还有比利时的自行车设计师。这些复制版本会各自演化,甚至最终融合回Lee的最初版本。这项实验激发了硅谷的顶级法律公司Fenwick & West(GitHub是其客户)在今年早期于GitHub上发表了30页的创业公司标准文档。该公司合伙人之一Ted Wang谈到:
我猜测在未来,GitHub会成为法律从业者的实际工具。
这便是Tom Preston-Werner同其GitHub团队正在构筑的。任何人都可以通过此网站来架设免费的开源项目,而这也是大部分用户正在做的。然而通过付费服务,公司可以保持他们的软件及其他项目不对外公开。甚至是通过安装他们自己版本的GitHub,将项目内容保密。针对不同的项目,收费可从每月几美元到每年成千上万美元不等。
34岁的Preston-Werner称,他销售给其客户的是更好的协作。如同杰克韦尔奇治下通用电气一般的品质。Preston-Werner谈到:
通用电气拥有六西格玛哲学。他们是本着这样的原则来确保产品质量和组建团队的。而我们拥有GitHub的方式。并且我们相信很多人都会从中获益,并输出更多更好的成果,并乐在其中。
就在去年,该公司接受了Andreessen Horowitz的风投公司惊人的一亿美元注资。巨额投资彰显了更大的野心。Andreessen Horowitz的合伙人Peter Levine说:
我们坚信这是绝对是一项非常特别的业务。GitHub对于源代码所做的事情绝对可以应用到其他领域。不论是GitHub自己开发或是其他公司给基于其上的再次开发,可以想象那将会是一个非常有趣的合作平台。
作为投资人他看到了GitHub立足于程序开发人员的起步阶段,并相信这种模式适用于任何需要存储,修改以及讨论文本的行业:比如法律公司,医院,银行,设计行业。
很多人都试图将基于网页的协作工具销售给大企业。尽管目前对于购买了微软的Yammer产品以及IBM的Connections软件的公司能否适应GitHub的模式还不清楚,但是GitHub的确具备它们所缺失的优势:大批已经在GitHub架设了私人项目的忠实拥趸。这些人通过对GitHub的试用,将会成为推动其单位安装GitHub用于日常工作的根本动力。
GitHub从何而来
Beer:30 酒点半——这是GitHub每周一次,两个小时的员工集会的名字。同时也是TED演讲。GitHub的近半数的员工都参与其中。窗外是四月阳光下巨人队球迷为击败对手圣路易斯而热烈的欢呼。屋内GitHub的员工们要么怀抱MacBook,或是手捧啤酒。台上四架摄像机锁定着演讲台后身着牛仔裤黑体恤的Preston-Werner。他正在责备着湾区的地铁系统BART,源自他几周前携妻子和幼子乘地铁去农贸市场的不快经历。他谈到:
这便是GitHub从何而来,发现了一个糟糕的方案,进而试图打造一个更好的取代它。
六年之前,Preston-Werner同他的联合创始人们,Chris Wanstrath以及PJ Hyett都是典型的湾区程序员。微软正试图将Preston-Werner从收购的搜索创业公司PowerSet留住,但还是失败了。Wanstrath和Hyett已然辞去了他们在CNet的工作,创立了一家叫做FarmSpam的网站。一切都还未开始。
为大公司打工的经历让他们身心俱疲。他们痛恨低效与官僚的作风,以及缺乏自治的权力。Preston-Werner说:
你在某处工作了两年,无聊且沮丧到了极点,只好离职。
他们相聚在一个叫做Zeke的运动酒吧,紧接着就决定启动GitHub这个项目作为副业。而他们所要修正的“糟糕方案“正是Linux操作系统的创始人Linus Torvalds的Git软件,一个设计用来跟踪变化的软件。
Git对于极客程序员来说是很棒的,但是大部分人在安装使用的时候都会遇到很多困难。因此Preston-Werner和Wanstrath建立了一个网站,通过Git管理来便捷的分享代码。他们在2008年对其好友们开放了私下的测试版。
三个月之内,GitHub便拥有了6000名用户。他们当中很多人都从自己的项目中分享代码。他们推举Hyett作为首席运营官。业界公司对这项服务非常欣赏,甚至乐于为此付费。因此一项商业计划应运而生。(PeepCode的创始人Geoffrey Grosenbach甚至在一封邮件中写道“免费使用让我很不自在,我能直接写张支票给你们吗?”)GitHub的企业客户让该网站成为了鲜有的无需谄媚广告商的社交网站。
对于不写程序的人,观摩GitHub网站的感觉是有些云里雾里的。其网站上包含了很多代码仓库,程序分支,大片的代码文本等内容。还有小的片段称之为Gists。对于非技术用户这些近乎天书,但对于工程师而言则充满了甜头。
GitHub的最大创新在于pull request。那是在你通过分叉复制了某些东西之后,GitHub会向软件开发者发送一份电子文档,其中说到“嘿,我正在你的项目基础上进行二次开发。你能看到我都做了哪些改进。按下这个按钮,这些变化就会加入你的项目。”其中pull request使得任何人都可以很方便的修正文档中的笔误,或是软件程序中的错误,甚至是添加对于法律文本的新建议。
在此你可以从Preston-Werner的GitHub中了解到很多。GitHub的CEO建立了超过40个代码仓库,其中包含了一个非常火爆的针对黑客的博客引擎,叫做Jekyll。Jekyll已经被用户加星超过12000次,并且复制超过2000次。以GitHub的标准而言这都是很了不起的。
如果你继续往下看,你会发现Preston-Werner确实比一般CEO写的代码要多的多。但这里不乏他的其他爱好。其中一个项目包含了各种GitHub的定制啤酒柜照片,共被复制了3次。他还有一个仓库包含了他最爱的旧金山素食馆。共被复制了37次。但是包含了很多很多修改,这些几乎都来自素食主义者们对笔误的修正,以及添加上他们自己喜爱的餐馆,酒吧,以及冰淇淋店。
Preston-Werner希望他的员工能能够像重新设计地铁一样来思考问题,因为他不希望他们忘记自己的使命:重塑人们的工作方式。在这一点上,他已经花了4百万美元来改善员工所使用的工具。该公司仅有的一笔收购,在他们获得Andreessen Horowitz一亿美元投资之前敲定。是一家由五个人组成的专门制作网页开发者工具及软件的公司,他们的产品是用来帮助人们在线分享幻灯片的。
从风投公司获得一亿美元投资,对于一家制作源代码管理软件的公司来讲本是可望而不可及的。但是GitHub的社交网络属性令其与众不同。加州Shasta Ventures的管理总监Jason Pressman谈到:
程序员是新时代的摇滚明星。谁能在50年代就设想到摇滚明星能够拥有那么大的商业价值?程序员正在取得这样的影响力,因此GitHub作为程序员的中心拥有无穷的价值。
GitHub在白宫
如今,GitHub拥有众多的付费用户:暴雪娱乐,Etsy,以及大的云服务提供商RackSpace等。最重要的科技公司中,甚至微软也拥有公开的GitHub页面。同时也拥有很多粉丝。GitHub本身也透过敏锐的商业眼光,采用自身五条腿的小章鱼商标制作了一系列的主题帽衫,杯具以及不干胶贴纸。
但是究竟GitHub将如何达到其改变工作方式的目标,目前还不明确。Preston-Werner称产品路线图的方式是违背GitHub企业文化的。他说:
我认为制定路线图的想法是过时的,承诺太多而达不到的风险是很高的。所以我们在发布新功能之前都不会谈论。
但是风险投资人Levine和Pressman认为GitHub的优势在于,其已成为一个平台。拥有超过三百万的用户,它完全能够以像Linux或是PC类似的方式进入企业,成为定制软件背后的共享平台。Pressman称:
GitHub绝对能够渗透入大企业。
就像GitHub进入白宫的方式。在一年前,白宫CIO Steven VanRoekel开始着手制定一个令政府数据更便于访问的计划。联邦机构堪称信息的宝库,从法庭记录到联邦通信委员会掌握的私人无限广播电台数据应有尽有。但是这些数据都很难被软件开发者访问到。
VanRoekel在来到华盛顿前在微软工作过15年,授命解决这个问题。去年夏天,他的团队制定了一系列软件工具和政策文件,作为官员们的指导手册。
这个项目被称为Open Data,其编写以及代码的完成就是基于GitHub。最开始的时候,整个项目是存放在私有代码仓库中,仅能在VanRoekel管辖下的工作组内部访问。当任何人需要进行一项大的修改,他们无需发送邮件或是打电话。他们需要做的就是提交一个pull request。
五月的时候,VanRoekel的办公室对外界程序员发布了开发他们数据库所需的软件。这些程序连同Open Data项目的政策文档都一并公开发布于GitHub。VanRoekel谈到:
这是白宫第一次通过GitHub代码仓库发布政策,因此如果你觉得自己比官员们高明并且希望改进“公开许可证”的定义,那就去做吧。直接复制下来原版,改进后再提交一份pull request给白宫。
VanRoekel正在通过GitHub开启联邦政府的现代化,但是还有另外一群设计师正在试图通过GitHub来协作3D打印,而这很可能会成为GitHub的新增长点。一名犹他州盐湖城的软件开发者Duane Johnson最近通过GitHub将他的房子开源了。他正通过GitHub发布小型房屋改进3D打印设计项目。比如一个水槽增氧机,一个客厅地毯固定薄片,或是一个餐盘架。
Johnson的设计密集且复杂。他们并不像源代码或是餐馆名录那样易于修改,但是Preston-Werner认为他的公司能够通过3D打印圈所使用的工具来改进GitHub。他说:
3D打印技术的革新业已成熟,我们很乐于成为这场革新的一部分。
在GitHub公司内的蛋蛋屋(60年代仿古风格的乘凉地,还有很多球形椅)的一角就摆着一台3D打印机。公司鼓励员工将好的创意打印出成品。去年十二月,员工Yossef Mendelssohn弄伤了脚,并苦于无法同时杵着医用拐杖和普通手杖一起行走。于是他设计并打印了一个固定装置,能够帮助他将普通手杖与医用拐杖绑定。其代码可供任何人阅览。
Mendelssohn的固定装置会走红吗?不会的。但是为了能找出什么才是有用的开源设计,把玩3D打印机还是很重要的方式。或许还需要五年的时间才会有结论,但是一旦3D设计师以及硬件黑客们对开源革命做好了准备,GitHub就等在那里。Preston-Werner说:
如果我们能够做到让任何一个普通人,都觉得3D打印是很方便的。那么开源之风就会像如今影响软件业一样,影响硬件世界。而那正是我想去做的。
[消息来源:]
/ us-startups
/ breaking
/ us-startups
/ breaking
无需注册,直接使用社交账号登录
没有帐号?
已有帐号?
右键另存为下载到本地
分享到微博
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

我要回帖

更多关于 如何从github下载代码 的文章

 

随机推荐