Git 是一款开源的分布式版本控制系统,而 GitHub 是依托 Git 的代码托管平台。

GitHub 利用 Git 极其强大的克隆和分支功能,使得社区成员能够自由地参与到开源项目中去。

不过,在开始学习之前,你需要一个 GitHub 账号,以及一台能联网的 Linux 虚拟机

=================准备工作==================

一、安装 Git

  * 如果你已经安装好了 Git,可以忽略这一步

  Ubuntu 安装 Git:  apt-get install git

  CentOS 安装 Git:  yum install git

  查看 Git 版本信息:  git version

  配置 Git 用户信息:

 git config --global user.name "woider"
git config --global user.email "woider@gmail.com"

↑ 把用户名和邮箱换成你自己的,键入命令后屏幕没有输出,则表示设置成功了

二、开启 SSH 服务

  * 如果你使用的是 CentOS,则默认开启了 SSH,可以忽略这一步

  Ubuntu 安装 SSH:  apt-get install ssh

  查看 SSH 服务状态:  ps -e | grep sshd

↑ sshd 表示 ssh-server 已启动

三、生成 SSH KEY

  * 使用 ls -al ~/.ssh 命令查看 ssh key 是否存在,若存在则忽略这一步

  生成 SSH KEY:  ssh-keygen -t rsa -C "woider@gmail.com"

↑ 生成 ssh key 过程中,会让你填写 passphrase,连按三次回车跳过即可

================SSH KEY===================

一、查看 SSH KEY

  进入 /root/.ssh 目录,查看 id_rsa 和 id_rsa.pub 文件:

 root@localhost:~# cd /root/.ssh
root@localhost:~/.ssh# ls -a

↑ id_rsa 为私钥,id_rsa.pub 为公钥

二、复制 SSH KEY

  打开 id_rsa.pub 文件,将内容复制到剪贴板:  vim id_rsa.pub

↑ SSH KEY 公钥,用于 GitHub 身份验证

三、添加 SSH KEY

  登录 GitHub,打开 Personal settings 页面,选择 SSH and GPG keys 选项:

↑ Title 可以随意填写,Key 中填写刚从 id_rsa.pub 中拷贝的内容

添加 SSH key 之后,Linux 就可以通过 SSH 建立本地 Git 与 GitHub 的连接了。

================GitHub===================

一、创建GitHub仓库

↑ 创建一个名为 baidu 的仓库

↑ SSH 地址为 git@github.com:woider/baidu.git

二、克隆仓库到本地

  通过 SSH 地址将 GitHub 仓库克隆到本地:

 git clone git@github.com:woider/baidu.git 

↑ 第一次连接时,需要你确认 GitHub 的 Key 的指纹信息是否真的来自 GitHub 的服务器。

  克隆到本地的仓库会自动关联远程仓库,可以通过  git remote -v  命令查看关联状态:

↑ 关联后可以通过  git push origin master  命令推送修改

注意:如果克隆的是其他人的仓库,由于没有权限,你将不能推送修改。

/* 创建一个 readme.md 文件 */
root@localhost:/home/baidu# vim readme.md /* 输出 readme.md 文件内容 */
root@localhost:/home/baidu# cat readme.md
Git关联GitHub
============= /* 将文件添加到暂存区 */
root@localhost:/home/baidu# git add readme.md /* 提交本次修改 */
root@localhost:/home/baidu# git commit -m "add readme file"
[master 228d321] add readme file
file changed, insertions(+)
create mode readme.md /* 推送到远程仓库 */
root@localhost:/home/baidu# git push origin master
Counting objects: , done.
Compressing objects: % (/), done.
Writing objects: % (/), bytes | bytes/s, done.
Total (delta ), reused (delta )
To git@github.com:woider/baidu.git
36c5c1c..228d321 master -> master root@localhost:/home/baidu#

Linux 下建立 Git 与 GitHub 的连接的更多相关文章

  1. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  2. 环境部署(三):Linux下安装Git

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,还是yum安装 ...

  3. 【转】在Linux下搭建Git服务器

    在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...

  4. 在linux下有没有什么软件可以连接windows上的MSSQL SERVER

    在linux下有没有什么软件可以连接windows上的MSSQL SERVER GUI的http://dbeaver.jkiss.org/ http://bbs.csdn.net/topics/391 ...

  5. Linux下Jenkins+git+gradle持续集成环境搭建

    Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集  发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文   一.项目介绍 和 linux ...

  6. Linux下建立Nexus私服

    Linux下建立Nexus私服 要安装3个东西,然后配置私服: 1.JDK 2.Maven 3.Nexus 然后配置 1.JDK的安装 下载JDK安装包,格式为RPM格式,安装即可 安装程序 #rpm ...

  7. linux下git以及github的连接与使用

    简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...

  8. windows下使用git和github建立远程仓库

    转自(http://www.bubuko.com/infodetail-430228.html) 从昨天开始就在看git的使用,因为在Windows下很多命令行操作都比较坑爹,但是今天再走了无数弯路之 ...

  9. Windows下使用Git和GitHub.com

    1.首先介绍一下什么是Git和GitHub       Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大 ...

随机推荐

  1. Account的简单架构

    前几天,有园友私下问我,博客中的AccountDemo后端架构为什么是那样的,是不是分层太多太冗余,故这里简单介绍下.先看解决方案工程截图: 每个工程的含义,见https://www.cnblogs. ...

  2. Python-生产者消费模型 线程

    7.生产者消费者模型(*****)(思聪吃热狗代码) 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题. 该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度 为什么要使 ...

  3. bzoj1036点权模板题

    /* HYSBZ1036 树上有1-n个结点,每个节点都有一个权值w 操作 CHANGE u t:把结点u的权值改为t QMAX u v:询问从点u到v的路径上的节点的最大权值 QSUM u v:询问 ...

  4. 有关Math数学运算的js函数

    随机函数;  Moth.random()   //3.以下通过循环给数组每个元素赋值,随机数. // Math.random(); 可以随机0~1之间的任意数 [0,1) // alert(Math. ...

  5. 通过Headless模式执行selenium脚本

    我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话) Chrome Headless模式 Python Sele ...

  6. python 全栈开发,Day123(图灵机器人,web录音实现自动化交互问答)

    昨日内容回顾 . 百度ai开放平台 . AipSpeech技术,语言合成,语言识别 . Nlp技术,短文本相似度 . 实现一个简单的问答机器人 . 语言识别 ffmpeg (目前所有音乐,视频领域,这 ...

  7. ireport 添加行自增序号

    ireport 添加行自增序号 在ireport报表中加入行的自增序号方法: 添加一个变量,如变量名为 index: 设置变量类型为Integer,计算类型为count:变量表达式为$V{index} ...

  8. js获取精确的元素宽高(普通获取高度会有误差)

    当js获取元素宽高时, 并不是一个精确的数字,如果想获取真正的宽高大致方法如下 var oStyle = obj.currentStyle ? obj.currentStyle : window.ge ...

  9. Oracle 11.2.0.4 For Windows 64bit+32bit 数据库

    1.Oracle11G 32BIT介质官方链接 适用于Windows 32bit的Oracle Database 11G 第2版U4(11.2.0.4)Oracle11.2.0.4  Windows3 ...

  10. java集合进行排序的两种方式

    java集合的工具类Collections中提供了两种排序的方法,分别是: Collections.sort(List list) Collections.sort(List list,Compara ...