用TorToiseGit来管理github上的项目

转载自:点击打开连接git

我的补充:我用的是这种连接,还有就是最后若是push不成功,先pull下来再push。其余的按照下面操做。程序员


最近感受本身电脑上的代码太乱了,东一块、西一块……因而决定使用正规的源代码管理软件来管理本身之后写的代码。之前作小项目的时候用过TortoiseSVN,感受不错,可是速度上有点慢,因而决定尝试一下新东西——Git。经过网络发现Git很火,看看下面的文字你就会知道Git有多火。github

        Git 是一个分布式的版本控制系统,最初由Linus Torvalds编写,用做Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤为是在Ruby社区中。目前,包括 Rubinius和Merb在内的不少知名项目都使用了Git。Git一样能够被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。web

        目前大部分的版本控制都须要一個服务器端,commit时提交到服务器端。git虽然是分布式的管理工具,但它也可使用集中管理的方式。举例来讲,billy建立了一个新项目,tom以为这个项目比较有意思,他想玩玩看,他能够把整个repo(reoisitories)都clone到本地,而且在他clone下来的项目中本身有一个repo。tom能够自由的对这个repo作各类提交修改,直到他满意为止。这时tom能够告诉billy,他改了一些什么,若billy以为不错,能够从tom那边fetch并merge到本地。windows

        如前所述,做为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库均可以独立使用,任何两个库之间的不一致之处均可以进行合并。正由于如此,因此有了Github这个网站,github是基于ruby的并揉合多种语言进行开发的,上面的ruby项目也很是活跃。在github 中,每一个人均可以有多个repo,这些repo都是与用户绑定在一块儿的。user之间能够互相clone repo、fork repo、watch repo或是 follow其余user,就好像twitter或是plurk等社交网站同样。api

        不过若使用免费的github则全部的repo都要是public且有300M容量的限制。若但愿有private的repo,则须要跟付费才可。github另外还有剪贴簿的功能,可将代码贴到其中并自由的发展各类branch。ruby

        GitHub 能够托管各类git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不一样,GitHub的独特卖点在于从另一个项目进行分支的简易性。为一个项目贡献代码很是简单:首先点击项目站点的“fork”的按 钮,而后将代码检出并将修改加入到刚才分出的代码库中,最后经过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的Facebook。bash

        看了上面的简介,感受不错吧。那咱们如今开始行动吧。服务器

1 下载并安装相关软件

        这里主要涉及的软件包括msysgit和TortoiseGit。网络

msysgit的下载地址:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe

TortoiseGit的下载地址:http://code.google.com/p/tortoisegit/downloads/list(选择你心仪的版本下载)

        在安装 TortoiseGit 以前,你的 Windows PC 上必须先安装 msysgit。由于此程序提供了 Git 核心。并且安装顺序是:先安装 msysgit,而后安装 TortoiseGit。若是你弄反了,也没有关系,能够进入 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/

        须要指出的是这些教程使用的是msysgit提供的git bash,若是你们对命令行很感冒,那么那些教程基本上就够你们参考了,无需再浏览本文;不然恳请各位继续欣赏下文。

3 环境配置

        本着学习的态度,我按照上述教程走了一下,发现问题:github ssh: connect to host github.com port 22

本人愚钝,没有解决该问题……因而仍是回到开始的想法,使用TortoiseGit管理本身的Github项目。

3.1 在TortoiseGit配置MSysGit

       在开始菜单中找到TortoiseGit的Settings一项,如图1所示。

image

图 1 TortoiseGit中Settings的位置

 

因为我是64位的电脑,因此会显示Settings (64 bit)。左键点击后,进入TortoiseGit的设置界面。能够清楚的看到,MSysGit已经配置好了。若是Git.exe的位置为空,请你们本身手动设置好。

2011-06-23_013648

图 2 TortoiseGit的设置界面

 

3.2 创建测试项目HelloGit

        在想放置项目的位置新建一个文件夹,名称为HelloGit,右键单击该文件夹,选择"Git Create repository here…",也就是建立本地的代码库。此时会弹出对话框,选择"OK"。(PS:不用搭理哪一个复选框)随后会提示成功建立了一个空的代码仓库。

2011-06-23_014923

2011-06-23_015119

3.3 向HelloGit添加文件并更新项目到本地版本库中

        新建一个README文件,随意填写一些信息。而后邮件单击README,选择"Git Add…",就是将README文件添加到本地HelloGit项目中。

2011-06-23_015611

单击"OK"后,显示以下对话框。2011-06-23_015757

单击"commit",将更新提交到本地版本库中。

2011-06-23_020039

别忘了在"Message"中填写这次提交所完成的任务,便于之后查看提交信息,对项目的进度有所掌握。单击"OK",继续。

2011-06-23_020315

3.4 创建沟通远程版本库与TortoiseGit的联系

        这里提到的沟通桥梁就是通讯中使用的密钥。TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -C "username@email.com" -t rsa产生的密钥在TortoiseGit中不能用。而基于github的开发必需要用到rsa密钥,所以须要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥。

        运行TortoiseGit开始菜单中的puttygen程序,点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key。

2011-06-23_022220

        登陆Github官网,点击右上角的"Account Settings",选择SSH Public Keys->Add another public key,将上面生成的Key粘贴进来,选择"Add Key"。公钥添加完毕。而后点击上面对话框中的"Save private key",将私钥保存在本地,文件后缀是ppk。

        运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,图标显示为64位windows 7下成功配置TortoiseGit使用Github服务器 - 哼哈二将 - 尚武思文,双击该图标,弹出key管理列表。点击"Add Key",选择刚才保存的ppk文件,这样私钥就添加到key管理列表中了。

3.5 更新项目到远程版本库中

        这是咱们的最后一步啦!可是前提是咱们得在TortoiseGit中配置好"Remote"。右键单击HelloGit项目,选择TortoiseGit->Settings,弹出以下对话框。

2011-06-23_020904

        咱们须要作的工做就是配置Git的Remote项。

Remote就是给该项目起个名称,咱们就是HelloGit;

Url就是Github上对应的远程版本库的网络地址。各位有没有认真看前面给的教程呀,创建一个Repo应该没有问题吧。在本地key管理列表添加好本身的私钥了吧,在github上的相应项目中添加好本身的公钥了吧,那咱们能够继续了,否则还得返回到3.4。在网站上进入你的项目中,会看到以下信息:

2011-06-23_023357

前面我已经讲了,在个人电脑上使用SSH,没法链接到github,因此此处我选择的是HTTP的方式。git@github.com:username/reponame.git就是咱们须要的Url。(PS:username和reponame应该是跟你的设置对应的,在使用中你可别真的原封不动地使用git@github.com:username/reponame.git,这但是连不上服务器的)

Putty处须要填的信息就是咱们在本地保存的私钥文件的路径。

        填好这三项后,点击"Add New",就会在左边的列表中显示咱们添加好的Remote信息。好了,咱们能够进行最后一项工做了。右键单击项目HelloGit文件夹,选择TortoiseGit->Push,弹出对话框,选择刚才添加的Remote信息,单击"OK",成功推送!

2011-06-23_024539

相关文章
相关标签/搜索