GitHub 简单用法
1. GitHub账号的申请
首先打开Github主页,https://github.com 如果你没有登录过的话会打开如下图的界面(登录过你就不用看这段了),
注册画面如下:

注意右侧不是登陆界面而是注册界面,按要求填写用户名,邮箱,密码,点击Sign up for Github,开始注册账号。
注册成功后会给你输入的邮件发认证邮件,按提示输入用户名与密码认证一下(此用户名与密码就是刚刚注册的用户名与密码),认证成功之后,我们可以按照GitHub提示去走一遍熟悉一下,也可以直接开始创建一个新的仓库,

点击Start a project,我们便可以看到

如果英语不是跟我一样差,那么应该也不难理解这个画面上说的是什么意思,简单解释下, Repository name是我们打算创建的远程仓库名;Description 是对这个仓库的介绍(这个可以随时编辑的,所以这时候省略也没关系); Public和Private表示权限,
Public就是你仓库的代码对任何人开放,但向你的仓库提交代码需要你允许,Private就是要看你仓库代码和向你仓库进行提交都需要你允许; Initialize this repository with a README 意思就是把README这个文件放在你新建的这个仓库,让你有更直观
的体验而已.
仓库新建之后还要新建一个项目,如下图:

点击Projects,去新建一个Project,新建完毕后
主界面如下:

2. 实现本地与远程库的连接,本地需要做的操作如下
(1):新建一文件夹,命名如Demo
(2): 使用git init命令初始化,将此文件夹变成一个可操作的git仓库
(3):使用ssh-keygen命令生成密钥,(如果已经有密钥,那就不必重新生成,在/.ssh中可以查看密钥)

输入ssh-keygen命令,会提示你输入保存密钥的文件名 ,名字就起id_rsa好了,接着提示你输入密码,这个无所谓,直接回车也行
之后你会看到文件夹下多了俩文件,一个叫id_rsa(私钥),一个叫id_rsa.pub(公钥),
(4) 使用cat id_rsa.pub命令查看公钥内容,可以看到如下类似画面

拷贝除最后分隔开的 zkw@zkw之外的所有字符,将这些字符添加到远程仓库的SSH key中,如下
在主界面上的右上方,在 + 号的右边有个倒立的三角,

点击它,可以进入设置

在设置画面,有个SSH and GPG keys按钮,点击它出现如下画面,

点击New SSH key会弹出一个可输入的文本框,在文本框左下方还有一个ADD 按钮,此时将粘贴板上的内容添加进去,再点击ADD即可成功添加公钥
(5) 点击主界面上绿色的Clone or download按钮可以看到我们仓库的地址,这个地址可以是ssh的,也可以是http的,建议ssh,因为ssh的原生协议更快

使用git clone + 远程库的地址,即可成功将远程库代码克隆到本地了.
正常情况下,git clone不会出现问题,如果出现比如 permission denied (publickey),可能原因如下
1): 生成密钥的时候没有使用id_rsa
2): 公钥没有加入远程版本库
可以使用 ssh https://github.com查看状态,如果OK那么会提示如下:
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
否则就是
permission denied (publickey)
我本人实验几次最后是重新生成密钥解决问题的
如果远程库是个空的,那么再执行完这句命令之后需要再执行
git remote add origin + 地址
(之后可以使用git remote -vv 查看本地对应的远程仓库)
(6) 第一次向远程分支提交时
git push -u origin master:refs/for/master
GitHub 简单用法的更多相关文章
- github基本用法
本人github账号:https://github.com/pingfanren,喜欢的朋友可以给我点星. Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法. 一:下载G ...
- Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法
1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面. 这种还是比较简单的类型.因为一个页面也就这种类型. ...
- WebView的一些简单用法
一直想写一个关于 WebView 控件的 一些简单运用,都没什么时间,这次也是挤出时间写的,里面的一些基础知识就等有时间再更新讲解一下,今天就先把项目出来做一些简单介绍,过多的内容可以看我的源码,都传 ...
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- Git和Github简单教程
原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- (2016春) 作业1:博客和Github简单练习
0. 博客和Github简单练习 总分:10分 1. 目的 博客使用:注册.发布博客.博客管理练习 Github使用:注册.文件同步等练习 2. 要求 (总体作业要求参考[链接]) 发布一篇博客: 介 ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
随机推荐
- Json序列化提示缺少编译器要求的成员“ystem.Runtime.CompilerServices.ExtensionAttribute..ctor”
//缺少编译器要求的成员“ystem.Runtime.CompilerServices.ExtensionAttribute..ctor” namespace System.Runtime.Compi ...
- 两个DIV并排显示
今天做的一个项目,需要做3个div,一个是总框(Div1),另外两个是子框,按比例填满div1,我设置好两个div的width和height,发现效果是两个子div上下显示,如图所示: 要想将两个DI ...
- Program type already present:okio.AsyncTimeout$Watchdog Message{kind=ERROR, text=Program type :okio
在app中的build.gradle中加入如下代码, configurations { all*.exclude group: 'com.google.code.gson' all*.exclude ...
- Qt5.QString传参数
1.函数传参,如果是 QString&类型 的话,不能直接 传入 char* 类型的参数,若是声明成 const QString&类型 的话,就可以 解释:应该是 函数调用的时候 编译 ...
- VC.时间(网页内容收集)
1.VC++获得当前系统时间的几种方案_记忆53秒_新浪博客.html(http://blog.sina.com.cn/s/blog_676271a60101i0hb.html) 1.1.内容保存: ...
- SqlServer中exists和in的区别
1.in 2.exists
- SQL关于WHERE 的计算次序
WHERE可包含任意数目的AND和OR操作符.允许两者结合以进行复杂 和高级的过滤. 但是OR和AND操作符是有先后次序的. 比如,原意是想找出 3班和5班年龄为21岁的同学,使用 :SELECT * ...
- 力扣(LeetCode) 849. 到最近的人的最大距离
在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的. 至少有一个空座位,且至少有一人坐在座位上. 亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上. 返回 ...
- leecode第五十四题(螺旋矩阵)
class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) ...
- 《剑指offer》第四十五题(把数组排成最小的数)
// 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...