Git 是分布式版本控制系统,若将一个 Git 仓库分布到不同的机器上,那么这样的仓库我们把它称为是 远程仓库。当然我们完全可以自己搭建一台远行 Git 的服务器来充当这个 远程仓库,也可以使用目前比较流行的 GitHub(GitHub 是专门提供 Git 仓库的托管服务平台),本篇就以使用 GitHub 为例讲解如何 “克隆” 远程仓库。

一、配置 SSH
1、注册 GitHub
首先我们必须要从 GitHub 官网 上注册一个 GitHub 账号,这样才能免费获得 Git 远程仓库。

注册方式十分的简单,只需要输入用户名、电子邮箱、密码即可完成注册;如果您已经注册过,也可以直接登录。

2、创建 SSH Key(在 Windows 上)
由于本地 Git 仓库和 GitHub 仓库之间的传输是通过 SSH 协议加密的,所以必须先在本地创建 SSH Key。

我们先在 “用户主目录” 下,查看是否有 .ssh 目录,如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,可直接跳过这一步,因为你已经创建好 SSH Key 了;如果没有,则打开 Git Bash(安装 Git 时,会在开始菜单中创建 Git Bash 快捷方式):

在 Git Bash 中输入生成 SSH Key 的命令:ssh-keygen -t 算法 -C "电子邮箱"

然后一路回车,使用默认即可。除非是有关军事的项目,否则一般不会设置密码。

如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsa 和 id_rsa.pub 两个文件,这两个文件就是 SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥,可以放心地告诉任何人。

ssh-keygen -t rsa -C "XXX@qq.com"

-t rsa:表示使用的是 RSA 加密算法;
-C "...":表示注释,一般注释内容是自己的电子邮箱,推荐写配置 Git 时的电子邮箱。

3、GitHub 中添加 SSH Key
登录 GitHub 账号,点击右上角的头像,选择 “Settings”,在左侧菜单栏选择 “SSH and GPG keys” 选项,点击 “New SSH key” 来添加新的 SSH Key:

进入 “SSH keys / Add new” 页面,Title 可任意写,Key 文本框里粘贴 id_rsa.pub 文件的内容:

点击 “Add SSH Key” 按钮,你就应该看到已经添加的 Key:

GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而 Git 支持 SSH 协议,所以 GitHub 只要知道公钥,就可以确认只有你自己才能推送。

GitHub 允许添加多个 Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的 Key 都添加到 GitHub 中,就可以在每台电脑上往 GitHub 仓库推送了。

注意: 在 GitHub 上免费托管的 Git 仓库,任何人都可以看到(但只有你自己才能改)。

如果你不想让别人看到 Git 库,可以将 GitHub 的公开仓库变成私有的,这样别人就看不见了。另一个办法是自己动手,搭一个 Git 服务器,因为是自己的 Git 服务器,所以别人也是看不见的。这个方法在后续博客中会有讲解,这也是公司内部开发所必备的。

二、添加远程库
1、在 GitHub 上创建仓库
如果你想用本地的 Git 库 连接 GitHub 上的远程库,并且让这两个仓库远程同步(也就是将本地的 Git 库中的内容放到 GitHub 远程库上),那么你需要先在 GitHub 上新建一个仓库:

在 Repository name 框中填写仓库名(仓库名自定义即可,我这里叫 MyGitHub),其他保持默认设置,点击 Create repository 按钮,就成功地创建了一个新的 GitHub 仓库:

创建好的 GitHub 仓库还是空的,它会提示可以将这个仓库克隆出一个新的仓库,也可以将已有的本地仓库与之关联,然后把本地仓库的内容推送到 GitHub 仓库中(推送也就是上传到 GitHub 仓库)。

##2、关联远程仓库

我们在本地仓库中输入 关联远程仓库命令 :

git remote add 远程仓库名 git@服务器:路径/仓库名.git

添加后,就可以将本库创建的所有内容推送到远程库上了,

使用推送命令: git push -u 远程仓库名 分支名

以上就是将 master 分支推送到了指定的远程仓库中,使用 -u 参数 Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,以后推送就可以简化直接使用: git push origin master 命令推送即可。

把本地仓库的内容推送到远程仓库中,用 git push 命令,实际上是把当前分支 master 推送到远程。

注意: 当你第一次使用 Git 的 clone 或 push 命令连接 GitHub 仓库时,会有一个警告:

这是因为 Git 在使用 SSH 协议连接时,第一次需要验证 GitHub 服务器的 Key,需要你确认 GitHub 的 Key 的指纹信息是不是真的来自 GitHub 服务器,你直接输入 yes 回车即可。

这时候 Git 会输出一个警告,告诉你已经把 GitHub 的 Key 添加到本机的一个信任列表里了:

这个警告只会出现一次,后面的操作就不会出现了。

如果你想验证是否真的来自你的 GitHub 服务器,在你输入 yes 之前,可以比对 GitHub的RSA Key的指纹信息 是否与 SSH 连接给出的一致。

推送成功后,可以立刻在 GitHub 页面中看到远程仓库的内容已经和本地仓库一样了:

现在,你就拥有了真正的 分布式版本库 !

3、常用的关联命令
URL(如:git@github.com:GitHub账户/仓库名.git)

查看远程库信息

git remote
1

添加远程仓库: git remote add 远程端名 URL

git remote add origin git@github.com:sun8112133/MyGitHub.git
1

查询远程仓库列表: git remote -v

git remote -v
1

删除远程仓库: git remote remove 远程端名

git remote remove origin
1

修改远程仓库: git remote set-url 远程端名 新的URL

git remote set-url origin git@github.com:sun8112133/MyGit.git
1

三、从远程库克隆
添加远程仓库 是先有 本地仓库,再有 远程仓库 的情况。那么我们一般团队开发项目都是先有 远程仓库,才有 本地仓库 的,这时候就需要从 远程仓库 中克隆到 本地仓库。

1、在 GitHub 上准备一个有内容的仓库
首先登录 GitHub,创建一个新的仓库(我这里叫 MyGitHubClone):

这时要勾选住 Initialize this repository with a README 选项,让 GitHub 自动生成一个 README.md 文件,创建成功后,可以从 GitHub 仓库中看到 README.md 文件:

2、克隆远程仓库
GitHub 远程仓库准备好后,在本地选择一个盘符位置(如:E盘),使用 克隆仓库命令: git clone git@服务器:路径/仓库名.git

克隆成功后,进入本地仓库,你就会发现已经有了 README.md 文件了:

这样就成功克隆了一份,以后我们修改了直接使用 推送命令 到远程仓库即可!

初次使用git,需要做什么,如何下载项目和提交项目相关推荐

  1. git拉取项目以及提交项目

    git拉取项目以及提交项目 1.打开cmd,键入cd d: d: cd project 输入git clone 你要拉区项目的地址 2.项目地址可以在gitee.com的项目代码那里去复制 3.提交项 ...

  2. Python3爬虫——用selenium获取歌曲id,做一个音乐下载器

    我们之前已经学习了selenium的简单实用,现在就来实战下,我们通过selenium获取歌曲的id,然后通过网易云音乐的外链地址来下载音乐,做一个音乐下载器(此项目仅供教学使用),下面我们先来看一下 ...

  3. Git之深入解析Git的安装流程与初次运行Git前的环境配置

    一.版本控制 什么是"版本控制"? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,对保存着软件源代码的文件作版本控制,但实际上,可以对任何类型的文件 ...

  4. git 下载项目和更新项目(1)

    首先下载项目: 打开git bash 当然并不是所有的项目都是可以下载的 有些私密的项目是无法进行下载的,需要公开的项目或者给你授权的项目才能进行下载 我们想把项目下载到那个目录下,可以事先到达固定的 ...

  5. Git 的安装与初次使用 —— Git 学习笔记 03

    Git 的安装与初次使用 -- Git 学习笔记 03 Git 的安装与初次使用 -- Git 学习笔记 03 安装 Git 在 Linux 上安装 在 Windows 上安装 初次运行 Git 前的 ...

  6. IDEA 中 使用 git 进行上传和下载项目

    IDEA 中 Git 的使用 一.Git 常用命令 二.远程仓库 1. Git的功能之一:远程仓库 三.Gitee(码云)的使用 1. 创建项目 2. 项目初始化(新项目上传) 3.   .gitig ...

  7. Windows10下git bash中添加wget下载工具

    Windows10下git bash中添加wget下载工具 文章目录: 一.说明 二.wget安装包的下载 三.添加环境变量 一.说明 Windows中git bash完全可以替代原生的cmd,而且更 ...

  8. 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details ...

  9. 初次运行git前的配置

    centos7安装git 1 yum -y install git 定制git环境 既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境. 每台计算机上只需要配置一次,程序升级时会 ...

最新文章

  1. 华为认证物联网开发利器:小熊派IoT开发板
  2. Android 插件化原理学习 —— Hook 机制之动态代理
  3. unc0ver 发布新版本支持 iOS 13.3 越狱
  4. C++实现桶排序——十大经典排序算法之九【GIF动画+完整代码+详细注释】
  5. flutter怎么添加ios网络权限_使用Flutter控制蓝牙通讯
  6. 实验5 类的继承、派生和多态(2)
  7. IP跳转,驱动级IP重定向,驱动级IP跳转,IP转向实现代码及流程!
  8. Google账号注册失败 无法向手机发验证码
  9. html英语单词不换行,css如何设置英文单词不换行?
  10. PPT修改母版页码格式后不管用?
  11. java 计时器归零_加一计时器——每隔1s六位数码管显示数字加1,直至999999,之后归零,重新开始。...
  12. php更换banner图片,如何替换banner上的图片?
  13. linux中nginx安装前置条件以及安装流程,非常简单
  14. mysql集群搭建及性能调优之一(集群搭建)
  15. 深入浅出Git教程+一个小时学会Git(转载)(堪称完美)
  16. 显卡超频linux,Linux 5.12内核将支持Radeon RX 6000系列显卡超频
  17. 网站502错误分析解决办法
  18. 读书笔记:《史蒂夫乔布斯传》
  19. html语言中i i,html元素 i 标签的使用方法及作用
  20. matlab打开bmp,Matlab 读取文件夹中所有的bmp文件

热门文章

  1. 屏幕输入三个整数,判断三角形
  2. 双十一数据造假?让我们用Python来验证一下。
  3. python图片读取不出来的问题
  4. js+JQuery模拟键盘输入
  5. win7系统下Visual Studio 2008怎么添加序列号
  6. 实现微信图文模板音乐播放问题,不走微信图文模板
  7. asp电子报制作与程序
  8. 教你用支付宝一键生成证件照,简单又实用,效果比照相馆的好太多
  9. 几种MySQL数据库引擎优缺点对比
  10. 华为荣耀3X 八大优势