先简单介绍一下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能够帮助我们做好项目开发中的版本控制工作,更棒的是,它可以免费使用!
以下流程在从网络及实践中总结写成:
$ cd ~/.ssh
$ ls //如果目录下已有文件,建立一个备份文件夹,把原有文件备份进去
$ ssh-keygen -t rsa -C "你的邮箱@xxx.com" //之后一路回车即可
之后出现的显示都填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的配置工作完成。
刷新GitHub网站的页面,可以看到改动已经被提交。
二. 代码回滚
在代码编写的过程中,遇到错误的修改导致代码损坏的情况很常见,有GitHub的版本管理,可以通过代码回滚将原有的代码恢复。
在GitHub图形界面里的History界面里我们能看到我们做过的所有的改动提交,代码回滚等操作,点开一个提交操作
可以看到,有两个操作,Revert commit 和 Roll back to this commit ,其中Roll back to this commit 就是将本地代码回滚到这次提交之后的状态,Revert commit则是把这次提交的修改全部回滚,但是如果在这次提交之后又有提交就会产生冲突的情况,这个后面说。
注意,上面的修改都是针对本地代码的,只要不commit对线上代码是没有影响的。