本地git关联远程github

0. 前言

我们开发的项目,均在本地开发;为了保证项目进度的一致性和公开性等,我们通常将开发过程代码或成品放置到github中,本文就讲述如何使得本地git与远程github同步!

PS:以下两个名称解释:

远程端:指github端
本地端:指本地git

1.操作步骤

本文以Linux为主线进行讲解,windows端基本相同

1). 本地端:

①. 下载git 并导入值你的 VM-Linux中

下载地址:https://git-scm.com/download

mark

②. 也可直接在vm-linux下yum安装

命令:yum install git -y

mark

③. 在某目录下初始化本地git仓库

命令: git init

当目录下出现.git的子目录后,表示init成功

mark

④. 配置git

执行完上述步骤,一定要对git进行配置,主要是配置用户名和邮箱地址

git config --global user.name "your-name
git config --global user.email your-name@example.com

配置完成后,可使用git config --global --list 查看是否配置成功

mark

⑤. 至此,本地端配置基本完成

2). github 配置

①. 登录到github

github地址:https://github.com/

②. 创建github仓库

mark

③. 添加SSH-key到github

本地git与github的通信采用加密机制,因此远程端需要获取本地端的公钥

小知识

  • 公钥与私钥:私钥加密的文件必须公钥来解密,反之亦然;
  • 发信人用自己的私钥加密后,发送给接收方,接收方采用发送方实现给定的公钥进行数据解密;
  • 接收方通过发送方的公钥对数据进行加密后返回给发送端,发送端只能用自己的私钥解密;
  • 任何需要获取发送方数据的机构,均必须取得发送方的公钥

1. 本地端创建SSH-key

  • 首先查看本地端有没有SSH-key
ll -a ~/.ssh/
  • 如果没有文件,则执行如下命令:
ssh-keygen -t rsa -C "your-email"

mark

  • 此时再去查看,发现多了两个文件,其中rsa.pub就是我们需要的公钥文件。

mark

  • 复制该文件的所有内容

2. 将key加到githb
mark
mark

  • 添加完成后,可以查看到

mark

3. 测试key是否添加成功

ssh -T git@github.com
  • 出现: You've successfully authenticated, but GitHub does not provide shell access.,表示添加成功

mark

3). 本地端与远程端的操作

①. 从远程端拷贝文件/源码

git支持http和ssh两种拷贝类型,但是ssh速度更快,因此建议使用ssh。

git clone git@github.com:your-name/xx.git

mark
mark

②. 将本地端与github关联

命令:git remote add 主机名 远端仓库名(ssh的形式)

如下代码:

# git remote add alg git@github.com:Jimmy-Nie/Algorithm.git
  • 主机名:给远程主机命名,名字可任意,但是一般采用origin,若已经被本机其它仓库使用,则会报错
  • 仓库地址:如上图标注

④. 将本地内容推送到远程端

git push -u alg master
  • -u: 推送内容并关联分支(第一次推送时用,其后为可选)
  • al: 刚才创建的远程主机名
  • master: 本地的master分支(如推送其它分支,可直接替换为分支名)

推送完成后,可看到远程端与本地端内容一模一样了!
mark
mark
mark

下次再推送时候,可只用用:

git push alg master

将内容推送到远程端

⑤. 取回远程端某个分支的更新

git pull alg master
posted @ 2018-01-03 14:57  Jimmy_Nie  阅读(778)  评论(0编辑  收藏  举报