如何在Mac上配置/使用Github

先简单介绍一下Git和Github,以下文字来源于维基百科。


Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。


GitHub是一个用于使用Git版本控制系统的项目的基于互联网的存取服务。它是由GitHub公司(先前被称作用Logical Awesome)的开发者Chris Wanstrath, PJ Hyett, 和 Tom Preston-Werner 使用Ruby on Rails写成的。GitHub同时提供商业账户和为开源项目提供的免费账户。根据在2009年的Git用户调查,GitHub是最流行的Git存取站点。

它提供了像 feeds,followers 和显示开发者们怎样在他们的版本库的版本上工作的网络图表。


使用GitHub能够帮助我们做好项目开发中的版本控制工作,更棒的是,它可以免费使用!


以下流程在从网络及实践中总结写成:

1.下载,安装Git,注册GitHub:

从google code上可以获的Mac OS的dmg安装文件
下载地址:http://git-osx-installer.googlecode.com/files/git-1.7.12-intel-universal-snow-leopard.dmg

安装没有什么好说的,打开.dmg文件,然后运行.pkg文件,一步一步往后装即可。git 会被安装到/usr/local/git/bin 目录下。
注册GitHub同样非常简单,选择免费的开源账户类型,按部就班走流程即可。

2.配置Git

在终端进入.ssh目录,如果目录中有文件,备份一份然后获取密钥:
$ cd ~/.ssh
$ ls //如果目录下已有文件,建立一个备份文件夹,把原有文件备份进去

$ ssh-keygen -t rsa -C "你的邮箱@xxx.com" //之后一路回车即可

然后在该目录下会有一个id_rsa.pub文件,文件里就是刚才生成的密钥,用vim等编辑器打开并复制内容。

进入GitHub里右上角的Account Setting
之后,SSH Keys ->Add SSH key ,在Key栏中粘贴上刚才拷贝的密钥内容。

完成后再返回终端,运行:

之后出现的显示都填yes即可,出现:

HiXXX! You've successfully authenticated, but GitHub does not provide shell access.

即为连接成功。


如果连接失败,有可能是默认的22端口被封了,可以在.ssh目录下新建一个名为config(没有后缀名)的文件,内容如下:

Host github.com
User [email protected]
Port 443
Hostname ssh.github.com

之后要设置用户信息


$ git config --global user.name "XXXX" //自己随便起个名字
$ git config --global user.email "[email protected]"
至此,GitHub的配置工作完成。

3.终端及GitHub图形化界面下的使用

GitHub图形化界面的使用

一. 建立GitHub Repository并修改提交代码
访问github.com并登陆,在页面的右下角有你当前的Repository信息,点击New Repository创建一个新的


下一个页面填写好Repository的名称和描述,创建一个README文件(这样一会可以直接执行clone操作)
创建完成之后,左上角 Clone in Mac,在你本机的GitHub中就会出现clone选项,名称和地址,执行clone操作,在本地选择的地址下就会有一个clone的副本文件夹出现。

在本地随意编辑README文件,保存后就会看到GitHub里已经检测到改变的发生,这时我们可以执行commit操作,Commit&Sync 将改动提交到网上。

刷新GitHub网站的页面,可以看到改动已经被提交。


二. 代码回滚

在代码编写的过程中,遇到错误的修改导致代码损坏的情况很常见,有GitHub的版本管理,可以通过代码回滚将原有的代码恢复。

在GitHub图形界面里的History界面里我们能看到我们做过的所有的改动提交,代码回滚等操作,点开一个提交操作



可以看到,有两个操作,Revert commit 和 Roll back to this commit ,其中Roll back to this commit 就是将本地代码回滚到这次提交之后的状态,Revert commit则是把这次提交的修改全部回滚,但是如果在这次提交之后又有提交就会产生冲突的情况,这个后面说。

注意,上面的修改都是针对本地代码的,只要不commit对线上代码是没有影响的。




你可能感兴趣的:(Mac,代码/项目管理)