在Mac上配置/使用Github
原文链接:http://www.jianshu.com/p/20eee155bbee
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
先简单介绍一下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栏中粘贴上刚才拷贝的密钥内容。
完成后再返回终端,运行:
$ ssh -T git@github.com
之后出现的显示都填yes即可,出现:
HiXXX! You"ve successfully authenticated, but GitHub does not provide shell access.
即为连接成功。
如果连接失败,有可能是默认的22端口被封了,可以在.ssh目录下新建一个名为config(没有后缀名)的文件,内容如下:
Host github.com
User XXX@XXX.com
Port 443
Hostname ssh.github.com
之后要设置用户信息
$ git config --global user.name "XXXX" //自己随便起个名字
$ git config --global user.email "XXX@XXX.com"
至此,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上配置/使用Github的更多相关文章
- 【GitHub】在Mac上配置/使用Github
以前一直听说过Github,但是自己一直不会用.最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功. 首先简单介绍一下Git和Github 集中化的版本控制系统( ...
- Mac上基于hexo+GitHub搭建个人博客(一)
原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...
- mac 上配置flutter开发环境
(ios,Android,Xcode,Android Studio,VScode,IDEA) 1)安装Flutter SDK 2)iOS 环境配置 3)Android Studio配置 4)VS co ...
- 在Mac上配置adb命令
在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...
- Mac上配置GTK环境
Mac上配置GTK环境 安装command line工具, 如果安装了Xcode, 就直接跳过该步骤 安装Homebrew 使用brew install pkg-config 使用brew insta ...
- mac上配置php开发环境
玉忠之前在我的mac上配置过,当时项目不能区分大小写,所以就没成功,我现在在他得基础上继续配置,希望成功. 教程:http://my.oschina.net/joanfen/blog/171109 以 ...
- Delphi for iOS开发指南(1):在Mac上配置你的开发环境
http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...
- Mac上配置不同版本的JDK
Mac上JDK的版本为1.8,编译AOSP时发现需要JDK 1.7.想找一种比较容易切换JDK版本的方式,经过一番Google发现Jenv比较合适. 安装Jenv至少有三种方式: - $ git cl ...
- Mac上配置 Ruby on Rails和Git
Ruby on Rails on Mac =============================================================================== ...
随机推荐
- BZOJ 2662: [BeiJing wc2012]冻结(最短路)
这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...
- mysql查询数据库中包含某字段(列名)的所有表
SELECT TABLE_NAME '表名',TABLE_SCHEMA '数据库名',ORDINAL_POSITION '顺序',COLUMN_NAME '字段',DATA_TYPE '类型' ,CH ...
- preg_replace的用法
<?php $str1 = "03/28/2015"; // 要替换成 2015-03-28 echo preg_replace("/([0-1][1-9])\/( ...
- python自学笔记(七)排序与多级排序
一.sorted内置方法 a = [1,2,3,4] 从大到小(翻转) a = sorted(a,reverse = True) #生成新对象,不会原地修改,需要重新赋值 print a --> ...
- 转: Transact-sql游标使用详解~~很详细
/*原理:游标就是把数据按照指定要求提取出相应的数据集,然后逐条进行数据处理.1.1游标的概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一 ...
- 转:php+mysql菜单无限级分类(非递归)
php+mysql无限级分类(非递归) 参考:http://www.chhua.com/web-note3244
- 算法导论 6.5.9 堆实现K路归并问题
问题: 设计一个时间复杂度为O(NlogK)的算法,它能够将K个有序链表合并为一个有序链表,这里的N为所有输入链表包含的总的元素个数 分析: 该问题为经典的利用堆完成K路归并的问题: 当K个序列满足一 ...
- 未能加载文件或程序集“DAL”或其他的某一个依赖项,系统找不到指定的文件
针对这个问题我在敲VB.NET机房收费系统的时候总共出现了两次,第一次是在使用反射+抽象工厂的时候出现的,第二次是在使用VS2012自带的打包工具生成可执行文件执行exe文件的时候出现的.具体看下图: ...
- ZYB's Premutation(有逆序数输出原序列,线段树)
ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- uva 1561 - Cycle Game(推理)
option=com_onlinejudge&Itemid=8&page=show_problem&problem=4336" style=""& ...