github

来源:互联网 发布:诊股软件在线 编辑:程序博客网 时间:2024/04/30 15:12

http://www.zhihu.com/question/19931404

GitHub 是怎么火起来的?

一个是 git 本身在开源社区里面的流行,这是主要是因为 Linus 的影响非常大。
然后就是因为 Github 本身。创始人都是在 Ruby 社区里面非常活跃的人。所以大家可以看到在 Github 上 Ruby 的成分非常多。他们的创始人曾经在 Startup Open Sourced 这本书上提到他们是如何在一个 Ruby 的线下聚会遇到,所以他们非常重视线下的社区聚会活动。他们的 Github Drinkup 活动从湾区开始,后来变成用户自发组织,变成全球很多开发者聚集的城市都会搞的活动。这样的社区号召力使得 Github 从一个源代码管理的工具变成了真正的开发者社区。
在发展过程中,Github 获得了开源社区非常大的支持,Ruby on Rails 和 Linux Kernel(根据张西家在评论中的勘误,Linux Kernel 的代码是直到 2011 年秋季kernel.org 事故之后才临时放到 Github 的。之前的github.com/mirrors/linux[-2.6].git 是有 Github 负责同步的非官方镜像。 )的代码都被放到了 Github 上,这是非常重要的里程碑。
Github 本身非常重视从开源社区中吸取精华,他们的 wiki 系统是 gollum,Github Pages 是 Jekyll,这两者都 host 在 Github 上并开源,并也成为了 Github 产品中非常好用的部分。
Github 在社区方面的努力还包括他们的 Changelog 播客,招聘程序员的 Github Jobs 以及一大堆有趣的纪念品,比如那个“fork you”的 Tee。这些都从侧面帮忙 Github 建立了独一无二的品牌。
也许这些都是一些侧面原因,但是我会倾向认为 Github 的成功来自他们对社区的重视。

PS - 如何和 Sourceforge 相比,好像前者有一段时间在国内是不能访问的。

 

Git 和Github初次使用

http://apps.hi.baidu.com/share/detail/31697631

1. GIT

相比CVS/SVN,Git 的优势:
- 支持离线开发,离线Repository
- 强大的分支功能,适合多个独立开发者协作
- 速度块

更多的细节参见 http://mgcore.com/viewthread.php?tid=15556

Git使用指南 http://www.linuxgem.org/user_files/linuxgem/Image/git-tutor.pdf

2. GitHub

GitHub是一个托管Git (开源或闭源)项目的网站,闭源收费,最低7$/月起,免费的300G空间。价格表如下:



使用GitHub步骤:
1、申请GitHub帐户 xxx ,创建名为new-project的新Repository

2、安装Git客户端(Linux)
#yum install git git-gui

3、 生成密钥对,这样项目可以push到 GitHub上
#ssh-keygen -t rsa -C "xxx@gmail.com"
4、将.ssh/id_rsa.pub拷贝到GitHub网站


5、为了方便,设置ssh不输入口令
# eval `ssh-agent`
# ssh-add
(输入passphrase)

6、测试是否能联通GitHub
#ssh git@github.com
如果配置正确,显示
ERROR: Hi xxx! You've successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.

7、设置Git全局用户配置
# git config --global user.name "xxx"
# git config --global user.email xxx@gmail.com

8、创建本地新项目工作树
# mkdir new-project
# cd new-project
# git init
# touch README
# git add README
# git commit -m 'first commit'
定义远程服务器别名origin
#  git remote add origin git@github.com:xxx/new-project.git  
本地和远程合并,本地默认分支为master
# git push origin master 

GitHub网站上就可以看见了, http://github.com/xxx/new-project

9. 更新文件
# vi README
自动commit更改文件
# git commit -a    
更新至远程
# git push origin master

10. 创建和合并分支
#git branch 显示当前分支是master
#git branch new-feature  创建分支
# git checkout new-feature 切换到新分支
# vi page_cache.inc.php
# git add page_cache.inc.php
Commit 到本地GIT
# git commit -a -m "added initial version of page cache"
合并到远程服务器
# git push origin new-feature

如果new-feature分支成熟了,觉得有必要合并进master
#git checkout master
#git merge new-feature
#git branch
#git push
则master中也合并了new-feature 的代码

再登录到GitHub可以看见"Switch Branches"下的分支选项:



GitHub还有一个很实用的功能,查看开发进程网络图(Network):

 

 

原创粉丝点击