msysGit管理GitHub代码

代码的管理,在日常开发中是很重要的环节,程序员的修炼三部曲——版本控制,单元测试,项目自动化。

本篇就简单的说说通过msysGit来管理GitHub中的代码,实现版本控制。

svn与git

  说到版本控制,就不得不提它的发展历史。最开始流行的版本控制工具是cvs,但是cvs有个缺点,就是必须联网使用集中的代码库;于是SVN登上历史舞台,到现在很多公司都在使用SVN,它是一款集中式的管理代码的工具,可以使多个人共同协助开发一款产品,并有很强大的分支标签功能。

  但SVN也局限于集中式管理,所有的代码都放在一个地方,这样也颇为不便。

  于是开源贡献者linus为了满足linux开源项目的需要,就自主开发了Git,一款分布式的代码管理工具,即代码是分布式的形式存储的,每台机器都可以作为代码的托管服务器。

  而现在流行的在线代码托管github就是架设在git之上的一种代码管理社区。

  甚至于,现在的应届生找工作,没用过github或者没有自己的开源项目都会被鄙视。

  所以,本篇就讲述一下如何在windows下管理github的代码。

注册github,创建代码库

  github网址:https://github.com

  注册过程就不说了,注册后,直接点击

  msysGit管理GitHub代码

  就可以创建自己的代码库。

msysGit管理GitHub代码

下载客户端工具

  有了github上的代码库之后,我们相当于有了自己的代码托管服务器。

  还需要一个客户端程序,与服务器之间进行通信,管理代码:

  类似SVN中,小乌龟TortoiseSVN与visualSVN的关系!

msysGit管理GitHub代码

  关于客户端工具,可以在git的官网上面下载git windows的客户端,也可以下载底部的msysGit管理工具。

  这里推荐msysGit管理工具,它提供了类似linux的终端命令的方式,管理git。

  可以在网址:http://msysgit.github.io/ 中下载:

msysGit管理GitHub代码

使用msysgit连接github

  下载后直接安装,下一步下一步无脑安装就可以了。我安装的过程是有点慢,得有十几分钟左右吧。

  安装完成后,直接关掉所有的对话框。

  打开安装目录:

msysGit管理GitHub代码

  双击msys.bat,就进入msysgit的管理命令界面,在这里,可以完全使用linux下的命令。

  1 首先要创建SSH Keys文件

  输入命令: ssh-keygen -t rsa -C "xinghalo@163.com"

  具体的邮箱,依据你的情况而定。

  输入后连续要按三个回车,就会在默认的文件夹下生成keys文件

  例如,我这里是在c://users/Administrator/.ssh/下有个叫id-rsa.pub的文件。

msysGit管理GitHub代码

  在相应的文件夹下找到该keys文件:

msysGit管理GitHub代码

  使用记事本打开id_rsa.pub文件,全选复制!

msysGit管理GitHub代码

  2 然后打开自己的github主页,点击add SSH keys,复制进去,随便起个名字。

msysGit管理GitHub代码

  3 回到msysgit命令行中,使用SSH -T git@github.com测试!

msysGit管理GitHub代码

使用msysgit克隆github库

  在命令行中输入:

  git clone https://github.com/xinghalo/WorldStar.git

  就可以拷贝对应的代码库到本地。其中后面的URL是你的代码库对应的URL。

msysGit管理GitHub代码

  URL参考:

msysGit管理GitHub代码

使用msysgit提交代码

  前面已经把代码库从github上克隆到本地,所以现在我们可以在本地该文件夹下,创建文件,提交到github上去。

  可以看到上面途中,代码库中只有两个文件和一个文件夹。

  首先创建一个文件:

  使用命令 git add XXX 添加该文件

  使用命令 git commit -m "我想说的话" 把该操作提交到代码库

msysGit管理GitHub代码

  使用 git push 把本地的提交,提交到github上

msysGit管理GitHub代码

  查看github中的代码成功的添加文件。

msysGit管理GitHub代码

本文转自博客园xingoo的博客,原文链接:msysGit管理GitHub代码,如需转载请自行联系原博主。
上一篇:Linux USB驱动框架分析【转】


下一篇:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(26)-权限管理系统-分配角色给用户