在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 =============================================================================== ...
随机推荐
- 1.3. chromium源代码分析 - chromiumframe - 窗口系列
在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), ...
- 弹出窗口内嵌iframe 框口自适应
说一下,弹出窗口还有内嵌一个iframe 这种模式应该是不科学的,但是公司项目里面就偏偏用到了,它这高低还不能只适应,所以我痛苦的日子来了 分析一下: 首先window.showDialog 方法的时 ...
- bzoj 1046 : [HAOI2007]上升序列 dp
题目链接 1046: [HAOI2007]上升序列 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3620 Solved: 1236[Submit] ...
- Python开发环境Spyder安装方法
Spyder(Scientific PYthon Development EnviRonment)是一个强大的交互式 Python 语言开发环境,提供高级的代码编辑.交互测试.调试等特性,支持包括 W ...
- [LeetCode]题解(python):085-Maximal Rectangle
题目来源: https://leetcode.com/problems/maximal-rectangle/ 题意分析: 给定一个二维的二进制矩阵,也就是只包括0 和 1的,找出只包括1的最大的矩阵的 ...
- Nexus 5 电信破解问题 CDMA_HDR重启会变回LTE
解决方法是Nexus 5 Field Test Mode -Advanced LTE Settings 关掉LTE 重启就好了 在Android 5.0 下实测成功 如果不行就换一张卡 重新写 重启再 ...
- (Problem 70)Totient permutation
Euler's Totient function, φ(n) [sometimes called the phi function], is used to determine the number ...
- LintCode-两个字符串是变位词
题目描述: 写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的 样例 给出 s="abcd",t="dcab",返回 true ...
- 驯服你的Windows Server 2003
虽然通过一些技巧可以让Windows Server 2003更符合我们的使用习惯,但对我等菜鸟来说,操作还是有相当的难度,有没有更简单.更省事的驯服它的办法呢?有,那就是使用Windows Serve ...
- linux下c/c++方式访问curl的帮助手册
自:http://blog.chinaunix.net/u1/47395/showart_1768832.html 有个业务需求需要通过curl 代理的方式来访问外网 百度了一把,测试可以正常使用.记 ...