使用git管理github项目
来源:互联网 发布:纯棉衬衫 知乎 编辑:程序博客网 时间:2024/05/20 05:46
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
目前大部分的版本控制都需要一個服务器端,commit时提交到服务器端。git虽然是分布式的管理工具,但它也可以使用集中管理的方式。举例来说,billy创建了一个新项目,tom觉得这个项目比较有意思,他想玩玩看,他可以把整个repo(reoisitories)都clone到本地,并且在他clone下来的项目中自己有一个repo。tom可以自由的对这个repo做各种提交修改,直到他满意为止。这时tom可以告诉billy,他改了一些什么,若billy觉得不错,可以从tom那边fetch并merge到本地。
如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。正因为如此,所以有了Github这个网站,github是基于ruby的并揉合多种语言进行开发的,上面的ruby项目也非常活跃。在github 中,每个人都可以有多个repo,这些repo都是与用户绑定在一起的。user之间可以互相clone repo、fork repo、watch repo或是 follow其他user,就好像twitter或是plurk等社交网站一样。
不过若使用免费的github则所有的repo都要是public且有300M容量的限制。若希望有private的repo,则需要跟付费才可。github另外还有剪贴簿的功能,可将代码贴到其中并自由的发展各种branch。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按 钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace:
GitHub项目本身自然而然的也在GitHub上就行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。
Chris Wanstrath还向InfoQ分享了关于GitHub的一些内幕信息:
GitHub已经有了一组引人注目的特性,除了命令式的库浏览器和一个项目Wik,GitHub甚至还包括了一个GitHub gem,以使通过shell方式使用GitHub更为方便。更多的未来特性已经在计划中:
更多关于GitHub的信息可以参见GitHub官方网站或GitHub博客。目前通过GitHub进行代码管理的开源项目列表也已经可以查阅。
下面先來介紹如何将环境配置好:配置环境分为三个步骤,安装与设置git,安装与设置ssh-key,以及在github上注册并建立repo。
- 安装与设置git
Linux:只要用yum,apt-get等安装即可,或是下载之后编译安装。
Mac OS X:从这里下载并安装。
Windows:先安装putty,然后从这里下载并安装。 - 安装与设置ssh-key
git使用ssh tunnel来提交源码,这个加密通道可以避免源码的封包被拦截而截取。因此要先产生并上传ssh key到github,方便之後与服务器之间的通迅。
Mac OS X与Linux,只要输入ssh-keygen -t rsa并根据指示操作即可:其中id_rsa.pub是公钥,而id_rsa则是私钥,请妥善保存以免遺失,它们都存放于~/.ssh目录中。将公钥粘贴到你github帐号中的SSH Public Keys的位置。注意小心不要复制到空格。
Windows,执行git-bash并输入:
- github注册
在github你的帐号右上角可以看到一个Your Repositories,选择Create one。输入Project name后,可以看到它有教你如何创建一个新的项目。这里以一个名为test的项目为例:
把你的程序push上github后就可以有自己的repo了。
若您喜欢別人的repo,只要他是public的,就可以点击上面的fork,把整个repo复制到你的帐户底下并修改提交后再请求原作者进行pull。
若你fork了一个repo(名为test)到github中之后,只要輸入:
就可以将整个repo复制下来并存放在test目录中。若你的ssh key有加上密码保护,每次与github通信的过程中都需要輸入密码以存取ssh key。
git的简单使用:
- 使用git管理github项目
- 使用git管理github项目
- 使用git管理github项目
- 使用git管理github项目
- 使用git管理github项目
- 使用git管理github项目
- 使用git管理github项目
- windows下使用git管理github项目
- Git_windows下使用git管理github项目
- windows下使用git管理github项目
- windows下使用git管理github项目
- Windows 下使用Git管理Github项目
- 使用Git管理GitHub上的项目
- windows下使用git管理github项目
- windows下使用git管理github项目
- linux使用git对github项目管理
- windows下使用git管理github项目
- windows下使用git管理github项目
- 试题:将罗马数字转为阿拉伯数字
- Android自动化测试解决方案
- 用OpenXml从Presentation的表中移处/添加列
- 设置tcp无等待算法,send直接发送发送数据
- ASIO 之 剖 析--(3) 以Proactor模式的角度来剖析ASIO
- 使用git管理github项目
- C预编译命令,C++预编译命令,C宏定义,C++宏定义
- Windows程序设计__孙鑫C++Lesson13《文档与串行化》
- http://www.yankay.com/wp-content/hbase/book.html
- 用Chrome浏览器模拟手机,andriord,iphone,ipad访问网站
- 希尔排序
- C++调用约定和名字约定
- Android的垃圾回收机制(android refbase类(sp wp))
- Unix 大括号扩展