美文网首页
第四章 远程仓库

第四章 远程仓库

作者: kison_ | 来源:发表于2018-06-17 20:50 被阅读0次

1. 远程仓库原理

①.如何分布?

只有一台主机有一个原始版本库,此后,别的机器可以“克隆”这个原始库,而且每台机器的版本库其实都是一样的,并没有主次之分。在这里,原始版本库可以放在GitHub上托管,作为主库。

②.由于本地Git仓库和GitHub'仓库之间的传输是通过SSH加密的,所以,需要一点设置:

1)创建SSH Key:打开git bash

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

接着一路回车。

2)[endif]正常的话用户主目录会出现.ssh文件夹,里面有id_rsa和id_rsa.pub,前者是私钥不可泄漏,后者是公钥,可以给别人。

]3)[endif]登陆GitHub,打开”ACCount settings”, ”SSH Keys”.添加ssh,然后把id_rsa.pub里的内容复制在框格里(.pub用notepad++打开)。点击添加,如果给你发邮件,表示添加成功。

③.为什么GitHub需要SSH Keys呢?这位HUB需要识别出你推送的提交确实是你推送的,而不是别人冒充的。而GitHub支持SSH协议,所以,只要他知道了你的公钥,就可以确认只有你自己才可以推送。当然,GitHub允许有多个Key,只要把每台电脑的ssh key都添加在GitHub上,就可以多台主机向代码库中提交了。

④.友情提示:

GitHub上托管的Git仓库,任何人都可以看到,但只有你自己可以修改。所以,不要把敏感内容放进去。

⑤.如果不想被他人看见怎么办?

交钱,GitHub把公开仓库变成私有的。另外,就是自己动手,搭建一个Git服务器,只有公司内部可以看见。


2. 添加远程库

①.如何在GitHub上创建公用Git仓库,并实现多个仓库进行远程同步?

(好处:Hub上的仓库可以作为备份,又可以让其他人通过该仓库来协作开发)

登陆GitHub,右上角找到+ -> new repository,创建一个新的仓库

在GitHub上创建仓库 创建成功

这时,就创建了一个空的仓库。这时,在本地的learngit仓库下运行命令

$ git remote add origin git@github.com:michaelliao/learngit.git

下一步,就可以把本地库的所有内容推送到远程库中了

$ git push -u origin master

Counting objects: 20, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (15/15), done.

Writing objects: 100% (20/20), 1.64 KiB | 560.00 KiB/s, done.

Total 20 (delta 5), reused 0 (delta 0)

remote: Resolving deltas: 100% (5/5), done.

To github.com:michaelliao/learngit.git

 * [new branch]      master -> master

Branch 'master' set up to track remote branch 'master' from 'origin'.

1)[endif]把本地内容推送至远程仓库,用git push命令。实际是把当前分支master推送到远程。

2)[endif]因为远程库为空,所以第一次推送master分支时,加上了-u参数。Git会把本地的master分支内容推送给新的master分支,还会将本地master和远程master分支关联起来,以后推送或拉取时就可以简化命令了。

]3)[endif]现在,本地仓库和远程仓库就分布式连接起来了。只要本地有了新数据,就可以通过命令更新GitHub上的数据了。

$ git push origin master

4)[endif]我本人在操作时,有两个问题:

11. 当时我的本地版本库由于数据未删除完全,主要是后面的commit没有提交成功,所以我的status一直是动态的,导致无法推送数据。

22. 在GitHub上创建版本库时,手贱点了创建ReadMe文件,然而本地并没有这个文件,所以一直无法提交。

解决方案:

将远程仓库和本地仓库内容合并(pull=fetch+merge)

git pull --rebase origin master

执行上面代码,就发现本地仓库多一个readme.md文件,这时就可以正常推送了。 

git push -u origin master即可完成代码上传到github

5)总结:

关联远程库,使用命令git remote add origingit@server-name:path/repo-name.git

推送本地master内容,使用命令 git push -u origin master

以后提交修改信息,git push origin master

1. 从远程库克隆

重新创建一个版本库,然后克隆在本地仓库

$ git clone git@github.com:KisonGump/gitskills.git

Cloning into 'gitskills'...

remote: Counting objects: 3, done

.remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3

Receiving objects: 100% (3/3), done.

克隆的新仓库会出现在本地仓库的一个新的文件夹中。

如果多个人协作开发,那么每个人各自远程克隆一份即可。

总结:

想要克隆一个仓库,首先必须知道仓库的地址,然后用git clone命令克隆

相关文章

  • 使用Docker安装GitLab

    注意:确保安装docker成功 我们知道Git远程仓库分为公有远程仓库和私有远程仓库。 私有远程仓库 远程仓库实际...

  • Git 跳崖指南

    远程仓库配置 初始化远程仓库,增加远程仓库地址 增加一个远程仓库 分享

  • git使用指南

    创建新的仓库并 push 到远程仓库 push 一个已经存在的仓库到远程仓库 操作远程仓库 显示当前绑定的远程仓库...

  • 用git命令将代码发布到远程仓库+SSH公钥配置

    远程仓库平台操作的2种情况 先有本地仓库,远程仓库为空 先有远程仓库,本地仓库为空 情况一:先有本地仓库,远程仓库...

  • CocoaPods托管代码教程

    一、准备工作 创建远程仓库 or 私有远程仓库 FFSpec ,(用来存放spec) 创建远程仓库 or 私有远程...

  • 克隆远程仓库

    克隆远程仓库到本地,先创建远程仓库,再使用git clone + <远程仓库地址> 命令实现将远程仓库克隆到本地。...

  • Git管理代码:使用码云作为远程仓库(三)

    本文内容要点: 远程仓库选择 注册远程仓库帐号 创建远程仓库 使用用户邮箱+密码以HTTPS方式访问远程仓库 使用...

  • Git管理代码:使用码云作为远程仓库(三)

    本文内容要点: 远程仓库选择 注册远程仓库帐号 创建远程仓库 使用用户邮箱+密码以HTTPS方式访问远程仓库 使用...

  • Git远程配置

    Git远程查看  Git查看远程仓库 Git远程参数 Git配置远程仓库

  • git常用命令

    从远程仓库克隆,并在本地修改后,提交到远程仓库 git clone 远程仓库地址 将远程仓库克隆到本...

网友评论

      本文标题:第四章 远程仓库

      本文链接:https://www.haomeiwen.com/subject/lmxgeftx.html