本教程讲解使用第三方工具TortoiseGit提交代码到GitHub中,GitHub自己提供了同步工具。GitHub自带的工具 慕课网 上有视频教程可以参考。
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称为代码玩家的Facebook。
看了上面的简介,感觉不错吧。那我们现在开始行动吧
1 下载并安装相关软件
这里主要涉及的软件包括msysgit和TortoiseGit。
msysgit的下载地址:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe
TortoiseGit的下载地址:http://code.google.com/p/tortoisegit/downloads/list(选择你心仪的版本下载)
百度云:链接:http://pan.baidu.com/s/1o6zGNai 密码:fd5f TortoiseGit分为32和64位的,根据自己的系统去下载,
安装顺序是:先安装 msysgit,然后安装 TortoiseGit 。因为msysgit提供了Git 核心。如果你弄反了,也没有关系,可以进入 TortoiseGit 的设置界面(右键菜单上 TortoiseGit -> Settings -> General -> MSysGit -> Path),手动指定 Git 核心文件的位置(例如 c:\Program Files\Git\bin)。发现没有,当你进入设置界面的时候,已经配置好了,不得不说现在的软件做得可真周到。
2 在github.com上建立自己的帐号
前文说了,github就是程序员的facebook,所以我们应该有自己的帐号。帐号分两种,免费帐号和付费帐号。使用免费的github,所有的repo都要是public(公开的)且有300M容量的限制;若希望有private的repo,则需要付费才可。本着自由交流的态度,还是申请一个免费的帐号吧。这个流程很容易,我就不多说了。
注册后,github会为大家提供几个教程,帮助大家快速学习掌握github的使用方法。地址如下:
Set Up Git教程:http://help.github.com/win-set-up-git/
Create a Repo教程:http://help.github.com/create-a-repo/
或者去慕课网: http://www.imooc.com/learn/208
github主要是学会创建项目,下图是我创建的一个项目,项目名是new
3 环境配置
msysgit,TortoiseGit 一路默认安装就可以。安装TortoiseGit 后,鼠标右键可以看到下图
点击setting是,可以看到下图,说明两个软件已经关联上了。
图 2 TortoiseGit的设置界面
3.1 建立测试项目new
首次创建一个new的文件夹,这里我在C盘创建了一个名为new的文件夹。选择new文件夹,鼠标右键选择"Git Create repository here…",也就是创建本地的代码库。此时会弹出对话框,选择"OK"。(PS:不用搭理哪个复选框)随后会提示成功创建了一个空的代码仓库。
3.2 向new文件夹添加文件并更新项目到本地版本库中
在new目录下新建一个new.html文件,随意填写一些信息。然后邮件单击new.html,选择"Git Add…",就是将new.html文件添加到本地new项目中。
3.3 TortoiseGit 与 Github 建立远程版本库
TortoiseGit 使用扩展名为ppk的密钥,需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥。开始菜单中找到puttygen,并且打开
之后产生一个密钥如下图,并复制密钥
登录Github官网,点击右上角的settings图标——》sshkeys——》add SSH key
之后处理key
公钥添加完毕。然后回到 Puttygen 工具点击上面对话框中的"Save private key",将私钥保存在本地,文件后缀是ppk(之后会用到这个ppk文件)。
找到之前创建的new 文件夹,在文件夹上鼠标右键,并且找到settings,点击出现如下界面。
在Remote 中填写填写项目名称new,Putty处需要填的信息就是我们在本地保存的私钥文件的路径。URL是github中进入“new”项目的右侧复制出来的,如下图:
填好这三项后,点击"Add New",就会在左边的列表中显示我们添加好的Remote信息。关联完毕关闭setting窗口。
3.4 更新项目到远程版本库中
我们可以进行最后一项工作了。右键单击项目new文件夹,选择TortoiseGit->Pull,从github中下载文件。
下载之后,通过push把之前提交的文件推送到github中。之后就能在github网站上查看自己提交的上去的文件了。
参考:http://our2848884.blog.163.com/blog/static/146854834201152325233854