【Git学习笔记三】远程仓库

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103889640







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


一、配置 SSH

1、注册 GitHub

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

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

GitHub注册


2、创建 SSH Key(在 Windows 上)

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

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

GitBash

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

生成SSHKey

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

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

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

3、GitHub 中添加 SSH Key

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

GitHub添加SSHKey

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

GitHub添加SSHKey2

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

GitHub添加SSHKey3

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

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

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

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



二、添加远程库

1、在 GitHub 上创建仓库

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

3GitHub创建仓库

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

空白的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 推送到远程。

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

GitHub警告

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

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

警告

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

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

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

推送成功

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


3、常用的关联命令

URL(如:[email protected]:GitHub账户/仓库名.git)

  • 查看远程库信息

    git remote
    

    查看远程库信息

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

    git remote add origin [email protected]:sun8112133/MyGitHub.git
    

    添加远程仓库

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

    git remote -v
    

    查询远程仓库列表

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

    git remote remove origin
    

    删除远程仓库

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

    git remote set-url origin [email protected]:sun8112133/MyGit.git
    

    修改远程仓库



三、从远程库克隆

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

1、在 GitHub 上准备一个有内容的仓库

首先登录 GitHub,创建一个新的仓库(我这里叫 MyGitHubClone):

GitHub创建仓库2

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

GitHub查看仓库内容


2、克隆远程仓库

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

克隆命令

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

查看克隆后的仓库

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



博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



发布了166 篇原创文章 · 获赞 169 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/sun8112133/article/details/103889640
今日推荐