0. 前言

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

PS:以下两个名称解释:

远程端:指github端

本地端:指本地git

1.操作步骤

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

1). 本地端:

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

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

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

命令:yum install git -y

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

命令: git init

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

④. 配置git

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

git config --global user.name "your-name

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

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

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

2). github 配置

①. 登录到github

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

②. 创建github仓库

③. 添加SSH-key到github

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

小知识

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

1. 本地端创建SSH-key

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

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

  • 复制该文件的所有内容

2. 将key加到githb



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

3. 测试key是否添加成功

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

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

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

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

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



②. 将本地端与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分支(如推送其它分支,可直接替换为分支名)

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





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

git push alg master

将内容推送到远程端

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

git pull alg master

本地git关联远程github的更多相关文章

  1. 本地git连接远程github

    git要连接GitHub仓库,是通过SSH加密连接的,所以必须要创建SSH key ssh-key -t rsa -C "youremail@example.com" 这里邮箱必须 ...

  2. Git关联远程GitHub仓库

    一.本地安装GIT版本控制软件 二.配置Git,设置用户信息 git config --global user.name "jack" git config --global us ...

  3. GitHub学习二-将本地Git库与Github上的Git库相关联

    0 git clone 如果是从自己的github clone,一键搞定,和三步的git remote add功能一样. 1.创建本地库 新建目录,右键git bash here,输入 git ini ...

  4. git远程分支创建,本地分支关联远程分支,第一次发布、更新分支

    git远程分支创建,本地分支关联远程分支,第一次发布.更新分支 github托管服务器地址为https://github.com git提交更新代码示意图: 本地与远程进行免密码配置(本地与远程关联) ...

  5. 将本地文件git到远程github仓库

    使用git管理项目是开发人员必备的技能,下面就介绍如何使用git将本地文件管理并且同步到github上面. 小白可以参考 创建SSH-key并且在github中添加认证 在本地用户的.ssh文件下面生 ...

  6. Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法

    Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...

  7. git连接远程GitHub仓库详细总结 for HTTPS协议

    简单唠叨几句哈.之前工作的时候,由于是在大厂,代码提交.版本管理都是多人协作的,所以公司当时用的git + gerrit来实现代码管理的.当时入职时并不懂git的使用,虽然有大神写好配置git的文档, ...

  8. 删除本地git的远程分支和远程删除git服务器的分支【转】

    转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...

  9. 本地Git仓库和Github仓库的关联

    1.我们首先创建一个文件夹(用于保存本地仓) 在我们想要创建的路径下右键鼠标打开Git Bash Here(创建一个文件夹,并进入文件夹) 2.通过命令git init把我们刚才创建的文件夹变成Git ...

随机推荐

  1. android RadioButton文字居中的方法

    每个RadioButton的style原先是这样的: <style name="radiobutton_style" > <item name="and ...

  2. Extjs文件上传问题总结

    本来文件上传是一个简单而常用的功能,但是,由于刚刚接触extjs,对extjs中的控件及其使用方法并不熟悉,导致本来一个很快就可以搞定的文件上传问题,弄了将近两天的时间.现将问题及解决办法发出来,供有 ...

  3. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  4. RxJS入门之函数响应式编程

    一.函数式编程 1.声明式(Declarativ) 和声明式相对应的编程⽅式叫做命令式编程(ImperativeProgramming),命令式编程也是最常见的⼀种编程⽅式. //命令式编程: fun ...

  5. Linux openvswitch 性能调优-flow-eviction-threshold

    原文:https://www.cnblogs.com/scottieyuyang/p/5683656.html Increasing the flow-eviction threshold The t ...

  6. AGC032D Rotation Sort

    题目传送门 Description 给定\(N\)的排列(\(N\leq5000\)),将任一区间最左侧的数插到该区间最右边的代价为\(A\),将任一区间最右侧的数插到该区间最左边的代价为\(B\), ...

  7. java中无参,有参,默认构造方法的应用及举例

    类的构造方法: (1)构造方法的名字和类名相同,并且没有返回值. (2)构造方法主要用于为类的对象定义初始化状态. (3)不能直接调用构造方法,必修通过new关键字来自动调用,从而创建类的实例. ne ...

  8. python3异常处理 try

    一. 简介 在编程过程中为了增加友好性,在程序出现Bug时一般不会直接将错误信息展示给用户,而是提供一个友好的输出提示. 二. 使用 1.异常基础 常用结构: try: pass except Exc ...

  9. POJ 1056

    #include <iostream> #include <string> #define MAXN 50 using namespace std; struct node { ...

  10. Maven-pom.xml文件报错 Plugin execution not covered by lifecycle configuration

    问题: Eclipse中新导入的项目pom.xml文件报错: Plugin execution not covered by lifecycle configuration: org.jacoco:j ...