本地仓库即为在你的电脑上的项目文件,远程仓库即为服务器仓库,如GitHub、GitLab或其他等。此处以GitHub介绍本地仓库与远程仓库的同步。可先创建本地仓库,也可先创建GitHub仓库,但都需要创建一个GitHub仓库。若先创建了GitHub仓库,则使用前述git clone命令创建本地仓库。

一、创建一个GitHub仓库

  在GitHub(https://github.com/)上创建账号,并按下图创建GitHub仓库:

二、创建Git本地仓库

  安装最新版的Git,并设置Git的username和email address后,使用<创建Git本地仓库>部分的内容创建Git本地仓库:使用git init初始化一个已有项目目录或使用git clone一个远程仓库。

三、使用HTTPS授权GitHub

  如果以HTTPS与GitHub链接,可使用一个credentials helper来在Git中cache你的GitHub用户名和密码。

1、先打开该credentials helper,以便Git保存你的用户名和密码。

  默认情况下Git会在15min内cache你的用户名和密码。

$ git config --global credential.helper cache
# Set git to use the credential memory cache

2、再更改默认的密码cache时间:

$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after hour (setting is in seconds)

四、使用SSH授权GitHub

  如果以SSH与GitHub链接,在每个从GitHub使用push或pull的电脑上都必须生成SSH keys。

1、生成一个新的SSH key

  ①、使用以下命令在终端生成一个新的ssh key,注意以你自己的GitHub email address代替:

$ ssh-keygen -t rsa -b  -C "your_email@example.com"

  ②、当提示“Enter a file in which to save the key,"时,按下Enter键,即以默认文件位置保存。

  ③、当提示”type a passphrase"时,键入安全密码:

  以上就生成了所需的public ssh key.

 2、将你的SSH key添加到ssh-agent

  如果不想每次使用你的SSH key时重复输入你的密码,可以将你的SSH key添加到SSH agent,该agent将管理你的SSH key并保存你的密码。

  ①、使用以下命令在终端打开该ssh-agent:

$ eval "$(ssh-agent -s)"

  ②、将你的SSH private key添加到该ssh-agent。

$ ssh-add ~/.ssh/id_rsa

  ③、将该SSH key添加到你的GitHub账户。

  • 复制你的SSH key.
$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)
$ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
  • 在GitHub页面,在右上角点击你的头像,再点击Settings:

  • 在用户设置面板,点击SSH and GPG keys,再点击New SSH key或Add SSH key:

  • 输入该新的SSH key的名称,粘贴你的SSH key到“Key",再点击Add SSH key即可(可能需要输入密码验证)。

  

  注意:使用HTTPS或SSH均可链接到GitHub,一般使用HTTPS会快一些,推荐使用HTTPS。因此只需要设置其中一种即可,即只执行<三>或<四>之一即可。

五、将本地仓库与GitHub仓库进行关联

  在命令行,切换到本地仓库所在的项目目录下,使用以下指令实现本地仓库与GitHub仓库的关联:

$ git remote add origin git@github.com:yanqingyang/learning_git.git
$ git push -u origin master

$ git remote add origin git@github.com:yanqingyang/learning_git.git
$ git push -u origin master

六、总结

  将Git本地仓库与GitHub远程仓库进行同步有以下几个步骤:

  1. 创建GitHub远程仓库;
  2. 创建Git本地仓库(1和2可互换);
  3. 授权GitHub,以HTTPS或SSH方式;
  4. 将Git本地仓库与GitHub远程仓库对应起来;

  此外,将本地Git仓库与GitLab仓库进行关联并同步,其过程与上完全一致,重点在于以HTTPS或SSH链接部分的设置。

本地Git仓库与GitHub/GitLab仓库同步的更多相关文章

  1. 本地git关联远程github

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

  2. 本地git连接远程github

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

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

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

  4. Git本地仓库与Github远程仓库关联

    如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的. SSH Key ...

  5. git本地仓库与github远程仓库链接协议问题

    前提条件:有github账号,本地安装了git,能上网. 环境:ubuntu14.0.4LTS 首先在你得在github上创建一个仓库new repository,然后再本地创建一个文件夹mkdir ...

  6. git将本地项目添加到github远程仓库

    1.首先准备好你的github 账号密码,注册就不说了.. 2.由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 命令: $ ssh-keygen ...

  7. 使用Git将本地仓库与GitHub远程仓库相关联

    这篇文章详细讲解了如何生成SSH,并链接到GitHub,123..... 1.如果你的GitHub里面没有仓库,就自己生成一个,如图所示 2.如果你有自己仓库,想在电脑本地新建一个,你需要将GitHu ...

  8. Git - Git本地仓库与GitHub远程仓库关联

    前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...

  9. ubuntu上建立本地git 和 网络 github的上传与下载

    github工具是一个很好用的工具,可以在本地建立一个git仓库,存储当前写的程序或者数据,然后通过ssh与github建立联系.具体怎么实现,下面进行介绍. 1.首先要安装git 软件 在Linux ...

随机推荐

  1. 在tomcat启动时解析xml文件,获取特定标签的属性值,并将属性值设置到静态变量里

    这里以解析hibernate.cfg.xml数据库配置信息为例,运用dom4j的解析方式来解析xml文件. 1.在javaWeb工程里新建一个java类,命名为GetXmlValue.java,为xm ...

  2. Fiddler一次性发多个请求

    Fiddler一次发送多个请求 选中某个请求: 选中 : Raw, 将request数据拷出: 包含请求header和request body 替换request header里面的ASP.NET_S ...

  3. HDU 1372 Knight Moves(bfs)

    嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1372 这是一道很典型的bfs,跟马走日字一个道理,然后用dir数组确定骑士可以走的几个方向, ...

  4. C/C++网络编程8——多进程服务器端之销毁僵尸进程

    上一节提到,当子进程执行结束,父进程还在执行,在父进程结束之前子进程会成为僵尸进程,那么怎么销毁僵尸进程呢?父进程主动接收子进程的返回值. 销毁僵尸进程的方法: 1:使用wait函数 2:使用wait ...

  5. Python使用pyautogui控制鼠标键盘

    官方文档:https://pyautogui.readthedocs.io/en/latest/# 安装pyautogui模块 在 Windows 上,不需要安装其他模块. 在 OS X 上,运行 s ...

  6. 3 JavaScript正则表达式

    正则表达式:Regular(有规则的) Expression 正则表达式是由一个字符序列形成的搜索模式,可用于文本搜索和文本替换 常见于字符串的search和replace方法 var str = & ...

  7. Windows远程“要求的函数不受支持”解决办法

    解决方法: 开启组策略中远程桌面链接安全层.1.开始-运行-gpedit.msc,进入组策略编辑器:2.找到左侧边栏计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-安全项:3 ...

  8. c#能同时继承接口和类吗

    c#能同时继承接口和类吗?( 要你命3000条12级分类:C#/.NET语言被浏览449次2013.09.10   满意答案 mroyal450 采纳率:54%12级 2013.09.11 C# 类, ...

  9. 数学公式在 iOS 中的表示

    1. 三角函数  double sin (double);正弦  double cos (double);余弦  double tan (double);正切 2 .反三角函数  double asi ...

  10. Eth合约攻击续

    合同代表一个非常简单的游戏:谁给它发送了比当前奖金还大的数量的以太,就成为新的国王.在这样的事件中,被推翻的国王获得了新的奖金,但是如果你提交的话那么合约就会回退,让level重新成为国王,而我们的目 ...