windows(XP)下配置使用Git完整过程(msysgit、TortoiseGit)

一、http://code.google.com/p/msysgit/downloads/list下载安装msysgit,版本为1.8.4.直接安装到默认目录,不知道为啥安装后这么大,直接1.54G大小。安装过程需要大约20分钟,安装完毕后提示如下:

如果想再次看到这个界面,点击msysgit文件夹下的msys即可。

二、http://code.google.com/p/tortoisegit/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+ReleaseDate+Size+DownloadCount 下载TortoiseGit即乌龟Git,这是个使用git的图形化工具。再下载个汉化的语言包。


TortoiseGit 1.8.5.0 32bit

TortoiseGit-LanguagePack-1.8.5.0-32bit-zh_CN.msi

依次安装,安装完毕后。从开始里打开PuTTY Key Generator,点击Generate。注意最下面的type of key选择默认的第二个,看英文提示:Please generate some randomness by moving the mouse over the blank area,意思是用鼠标拖动那个进度条。生成之后点击save public key,起个***.txt的名字保存起来。然后点击save private key这个自动默认的是生成一个.ppk后缀名的文件,其实只要保存这个就可以了!

三、将刚才安装的msysgit和乌龟git关联起来。从开始里打开乌龟git的settings,查看常规设置如下:

注意修改两个地方,1个是语言由于已经安装了中文包,这里选择简体中文。另外一个很重要的是Git.exe的路径,如果默认安装的话就是上面的路径,在msysgit的bin文件夹下。点击确定即可!

四、到网站https://github.com/申请或登录自己的github账号。在页面的右下角会显示当前你建的仓库,点击new repository新建一个仓库。输入仓库的名字和description。貌似只能选择public,选择private会收费。

然后点击右上角图标的Account Settings----SSH KEYs,选择右边的添加。

添加的内容是啥呢?这块让我纠结了一会,再次打开Puttykey,然后点击load将刚才生成的秘钥.ppk文件加载进来,将Public key for pasting into Open...下面的以ssh-rsa开头的内容,包含ssh-rsa复制粘贴到github添加ssh keys的地方就可以。而不是粘贴生成的那个public秘钥,所以我说生成的那个public没啥用。但网上有些教程这么说的,不知为啥。也不是粘贴Key fingerprint对应的内容。

五、然后就可以同步了,首先是将github上建的版本库下载下来。新建一个文件夹,名字不要有中文。如果是第一次操作的话,右键点击gitclone,界面如下

上面的URL地址的获取方法是在github里,点击仓库名字,在右下角的地址里选ssh模式就得到地址了。加载秘钥那块选择生成的.ppk文件。clone之后可以看到里面的文件都有一个绿色的对号。

【备注】如果为绿色的对号,表示这个文件夹对应github上的版本库,这个时候如果不想让这个文件夹当做版本库可以删除那个隐藏的.git文件夹即可。clone之后截图如上所示。

六、接下来要往github的版本库上传东西。在本地新建一个txt文件a,可以看到这个文件上面有个大大的问号。右键点击add,然后点击提交(commit),看到如下:


commit完之后再次点击推送。正常情况下push成功就可以在github上看到新建的这个文件了。但也有例外,如网速不佳,推送没有进度选择放弃了。或者是commit之后没有点push,而且点击的确定。这个时候这个文件已经有对号了,单独点击这个文件,点commit提交,已经不行了。因为文件内容没有发生变化。这里的add好像给文件加了一个索引,表示在git的控制范围之内,commit表示把他提交到本地的一个缓存里。既然文件内容没有变化而之前已经commit过了,所以这块就没法commit了。解决方法是对版本库Test文件夹操作,右键点Test选择“Git同步”,选择推送即可!


七、最后研究下向github上传文件夹。在Test文件夹下新建文件夹“测试”,可以看到又是一个大大的问号。链接http://www.shangxueba.com/jingyan/337011.html这里说,新建的文件夹要pull下,经过测试,纯属扯淡!是要在Test文件夹下pull还是对新建的文件夹pull?而且不管怎么pull完之后,都没法commit。也就是可能空的文件夹没法commit,也就没法push上去。在新建的文件夹内新建文件,然后add。或者在一个文件夹内新建多个文件后,对新加的每个文件进行add,然后对外面的文件夹进行统一commit,再push就ok了!

【备注】如果提示连接不上,致命错误需要点击开始TortoiseGit里的Pageant,将那个.ppk文件加载进来。如果有多个账号的话注意ppk文件命名的时候要区分。

总结:如果是新建的文件,提交到github的流程是添加(创建索引)-------------提交(commit,在本地缓存备份)------------推送(push,push到服务器)。如果文件已经存在github,仅仅是修改了,则只需commit,然后push即可。可以点击最外面的仓库文件夹Test对立面进行的修改统一commit,统一push!另外有三个概念易混淆,git clone,是复制下来一个完整的仓库,git pull是更新服务器到本地仓库,也就是获取最新版本然后merge到本地。git fecth是仅仅获取,并没有和本地的仓库进行merge。也即,git pull = git fetch + git merge。参考4里主张多用git fetch少用git pull。

参考:

1、http://www.shangxueba.com/jingyan/337011.html

2、http://www.cnblogs.com/pied/archive/2012/04/12/2444159.html

3、http://blog.csdn.net/hudashi/article/details/7664457

4、http://www.oschina.net/translate/git-fetch-and-merge?cmp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值