github是一个有海量开源代码库的网站,同时也是一个软件开发管理软件,作为软件来说它集成了git这个分布式的版本控制系统,可以上传、下载和管理自己的代码。

笔者刚接触不久,把认为入门应该知道的东西稍微总结一下。以后可能还会有补充。本文写于2015年6月4日,github可能有时效性。

使用git需要有一定的命令行基础

1.github注册

注册很简单,有邮箱就能注册,要上传项目文件需要登录后点击右上角的加号创建一个Repository。Repository个数应该是不限的。

2.Repository

Repository分为public和private两种,其他人可以通过网页访问你的空间下载public的代码。public是免费的,private收费。单个Repository最大容量为1G,应该没有文件数量限制,单个文件的大小不能超过100M。

3.git help

git都在命令终端界面下操作,如果有不记得的命令可以使用help指令获取帮助

git help

4.本地操作

创建完Repository后,可以下载github工具git。

windows系统,会提供一个图形界面的登录框,输入邮箱和密码登录。

可以在本地打开git shell工具,使用cd命令定位到需要上传代码的目录,然后使用git init对当前目录初始化git

git init

然后使用git add [要添加的文件列表]添加文件,使用git add .代表添加当前目录所有文件

git add .

下面关联git地址,这里建议使用ssh地址,笔者初学使用https地址总是报错。将下面代码的username和repositoryname改为自己的名称

git remote add origin git@github.com:username/repositoryname.git

如果地址不小心写错了,使用set-url命令修改

git remote set-url origin git@github.com:username/repositoryname.git

每次提交要先使用commit命令,commit后面可以跟上本次提交的说明

git commit -m "commit test"

最后使用push命令提交

git push -u origin master

如果其他地方修改了代码可以使用pull命令下载

git pull -u origin master

其中 -u origin master中指用户,origin master为初始用户。

5.ssh操作

(该步骤大多摘自GitHub官网,可能有时效性)

如果在一个新目录下想要pull或者clone github的代码的话,需要设置ssh key

首先cd到需要下载代码的目录然后初始化

git init

使用ssh-keygen工具创建key,最后引号中需要填写你的账户邮箱

ssh-keygen -t rsa -b  -C "your_email@example.com"

等一会直到出现下列提示,需要输入存储key的路径,直接回车可以存储在默认路径里(建议存储在默认路径)

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

如果key已存在的话会提示是否覆盖,否则会出现以下两个提示,出现这些提示直接回车就好。

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

下面会提示创建完成,会在/Users/you/.ssh目录下生成两个文件id_rsa和id_rsa.pub.

然后将key加入ssh-agent.加入前可以先用命令确认ssh-agent是否可用。

ssh-agent -s

或者使用下面的命令

eval $(ssh-agent -s)

如果可用的话会输出agent pid,例如:

Agent pid 

确认没问题后,利用ssh-add命令添加

ssh-add ~/.ssh/id_rsa

如果添加后出现错误:Could not open a connection to your authentication agent.则先执行以下语句再执行一遍add语句

ssh-agent bash

添加完成后需要将ssh-key添加到github网站账户中去,网页上登录后,点击最右上的按钮,然后点击setting(以后位置可能会有变化,反正记得找setting),然后在左侧列表中点击ssh keys,点击右边 add ssh-key

其中title随便写,key需要上面生成id_rsa.pub的所有内容(不要改任何格式)。

官方建议使用如下命令复制:

clip < ~/.ssh/id_rsa.pub

不过我在windows下报错了,不支持'<' 符号,我用的是记事本打开的方法,记事本后面的路径需要是windows的路径方式

notepad C:\Users\you\.ssh\id_rsa.pub

打开后Ctrl+A复制所有。粘贴完成后点击 add key,网站上的配置就算完成了。

可以本地使用测试命令测试连接

ssh -T git@github.com

可能会有yes/no的输入提示,记得输入yes。以下提示为成功

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

完成这些步骤后本地就可以使用clone和pull下载代码了(pull前记得 add origin)。

其他系统不同之处以后补充

git及github配置入门的更多相关文章

  1. Mac下IntelliJ的Git、GitHub配置及使用

    1.git简介 Git是目前流行的分布式版本管理系统.它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响.也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可 ...

  2. 【学习】Git和Github菜鸟入门

    Git 是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 目录(自己创建吧) 生成ssh密钥:ssh-keygen -t rsa -C "邮箱" ...

  3. git和github基础入门

    一.git: 1.安装配置git: 1.1从官网或者该网址处下载:https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit 1.2安装,一路nex ...

  4. git之github配置

    1.安装好git以后,我们配置git秘钥,首先输入下面的命令: 2.接着上述操作,一路回车按键.如图所示:生成了秘钥,, 如下图,就是秘钥了: 3.我们打开注册好的github地址.找到ssh选项,将 ...

  5. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

  6. Git和Github快速入门

    一.什么是Git? 假设你在的公司要上线一个新功能,你们开发团队为实现这个新功能,写了大约5000行代码,上线没2天,就发现这个功能用户并不喜欢,你老板让你去掉这个功能,你怎么办?你说简单,直接把50 ...

  7. Git和Github入门

    推文:官方手册,十分详细 推文:git和github快速入门 一.git使用 1.git安装 (1)windows 网站:https://git-scm.com/download/win下载安装即可 ...

  8. 简单使用Git和Github来管理自己的代码和读书笔记

    原文链接:http://my.oschina.net/bxxfighting/blog/378196   先注册github.com的账号官方网站: https://github.com/ 注册界面, ...

  9. git与github区别与简介

    From: https://blog.csdn.net/skyxmstar/article/details/65631658 git和github是两个完全不同的概念. git 是一个版本管理工具,是 ...

随机推荐

  1. 「Sdchr 的邀请赛」题解

    骗个访问量.. A:取石子 将点 x 与点 x / prime 连边,那么这个图可以由指数之和的奇偶性来划分成一个二分图. 接下来考虑推广阶梯 NIM (或者这原本就是阶梯 NIM ?),必胜当且仅当 ...

  2. solr 索引库的维护

    一.配置中文分析器:IK-analyzer,在FieldType中指定中文分析器:1 复制IK-analyzer到你的服务器指定目录中.2 在该目录中,我们需要的东西有:IKAnalyzer的jar包 ...

  3. Centos7 部署.netCore2.0项目

    最近在学习.netCore2.0,学习了在Centos上部署.netCore的方法,中间遇到过坑,特意贴出来供大家分享,在此我只是简单的在CentOS上运行.NETCore网站,没有运用到nginx等 ...

  4. 在 Azure 上创建和链接 Azure SQL 数据库

    本快速入门介绍了如何在 Azure 门户中创建并连接 Azure SQL 数据库.在本教程中完成的所有操作均符合 1 元试用条件. 开始之前 如果您还没有 Azure 账户,可以申请 1 元试用账户. ...

  5. java web 之Session

    1.Session简单介绍 由于Http是无状态的协议,所以服务端需要记录用户的状态时,就需要某种机制来识别具体的用户,实现这个机制的方式就是session. 典型的场景比如购物车,当你点击下单按钮时 ...

  6. HDU 2167 Pebbles 状态压缩dp

    Pebbles Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  7. VC++ IPv6的支持

    最近根据项目需要,要在产品中添加对IpV6的支持,因此研究了一下IPV6的相关内容,Ipv6 与原来最直观的改变就是地址结构的改变,IP地址由原来的32位扩展为128,这样原来的地址结构肯定就不够用了 ...

  8. eclipse svn使用

    简单介绍一些基本操作 1.同步在Eclipse下,右击你要同步的工程->team->与资源库同步->这时会进入同步透视图,会显示出本机与SVN上内容有不同的文件,双击文件名,会显示出 ...

  9. 讲解JavaScript两个圆括号、自调用和闭包函数

    一.JavaSript圆括号的使用 先来看一组通过函数声明来定义的函数: 先附代码: 运行结果如下: 这里我们可以看出: Ø  若没有加圆括号,则返回的是这个函数的内容 Ø  若加上圆括号,则返回的是 ...

  10. icon-font 字体图标的引用

    1.font-class引用 font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题. 与unicode使用方式相比,具有如下特点: 兼容性良好, ...