您的位置:首页 > 运维架构 > Linux

Linux 下建立 Git 与 GitHub 的连接

2017-03-11 00:05 501 查看

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
1 file changed, 2 insertions(+)
create mode 100644 readme.md

/* 推送到远程仓库 */
root@localhost:/home/baidu# git push origin master
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:woider/baidu.git
36c5c1c..228d321  master -> master

root@localhost:/home/baidu#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: