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. 【转】new对象时,类名后加括号和不加括号的区别

    请看测试代码: #include <iostream> using namespace std; // 空类 class empty { }; // 一个默认构造函数,一个自定义构造函数 ...

  2. 028_rync和inotify实现实时备份

    一.服务节点安装inotify-tools. 确保系统后以下输出=> [root@xxxx]# ll /proc/sys/fs/inotify/ total 0 -rw-r--r-- 1 roo ...

  3. nagios系列(七)nagios通过自定义脚本的方式监控mysql主从同步

    nagios监控mysql主从同步 起因:nagios可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道. 登陆mysql从服务器, ...

  4. Android TimeAnimator

    TimeAnimator:提供了一个简单的回调机制,通过 TimeAnimator.TimeListener,在动画的每一帧处通知你.这个动画器没有时间,插值或是对象值设定.回调监听器为每一帧动画接受 ...

  5. 洛谷P1638逛画展

    传送门啦 只需记录满足条件的一个区间的初始端点 $ (head, tail) $ ,不断删掉左端点 $ head $ ,不断更新右端点 $ tail $ : 开一个 $ vis[] $ 记录一下每幅画 ...

  6. samba 设置文件的读写权限

    原文:https://blog.csdn.net/lan120576664/article/details/50396511 打开配置文件 sudo pico /etc/samba/smb.conf ...

  7. django----过滤器和自定义标签

    模板语法之过滤器 1.default:如果一个变量是false或者为空,使用给定的默认值.否则,使用变量的值.例如: <p>default过滤器:{{ li|default:"如 ...

  8. Ext.js入门:TreePanel(九)

    一:最简单的树 二:通过TreeNode自定义静态树 三:用TreeLoader加载数据生成树 四:解决IE下非正常加载节点问题 五:使用TreeNodeUI 六:带有checkbox的树 七:编辑树 ...

  9. Android各国语言对照表(values-xxx)

    eg: 阿拉伯 Arabic  SA values-ar Android各国语言对照表https://blog.csdn.net/jiangguohu1/article/details/5044014 ...

  10. hdu 4463 有一条边必须加上 (2012杭州区域赛K题)

    耐克店 和 苹果店必须相连 Sample Input42 30 01 00 -1 1 -10 Sample Output3.41 # include <iostream> # includ ...