美文网首页
git连接远程仓库

git连接远程仓库

作者: 会飞的蜗牛F | 来源:发表于2020-01-05 20:50 被阅读0次

基础配置

获取自己的SSH Key

git安装过程省略。

  • 第1步,查看系统本用户路径下有没有.ssh目录,比如我的目录是C:\Users\Shawn\.ssh,有的话跳到第3步;

  • 第2步,创建SSH Key。在任意位置打开Git Bush终端,运行下面的示例命令,注意要输入你的email地址。
    ssh-keygen -t rsa -C "youremail@example.com"

  • 第3步,查看.ssh目录,可以看到里面有id_rsaid_rsa.pub两个文件。id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,待会要用到

具体这两个东西代表什么含义,这里不讨论。

在GitHub中添加SSH Key

  • 第1步,登陆GitHub,右上角个人头像,选择setting进入设置页面;

  • 第2步,选择SSH and GPG keys选项,可看到你自己目前的ssh信息。我自己添加了两条,一条是公司电脑,一条是家里电脑。

  • 第3步,点击New SSH key,添加一个SSH Key;

  • 第4步,用编辑器打开本地的公钥id_rsa.pub文件,全部复制粘贴到Key栏,输入名称,保存,就可以成功添加一条SSH Key。

连接远程仓库

我平常遇到的有3种情况:

  • 已有GitHub远程仓库,拉取到本地做开发;
  • 本地的项目想丢到GitHub上;
  • GitHub有仓库,本地也有项目,想合并到一块。

情况1:已有GitHub远程仓库,拉取到本地做开发

这种情况很简单,直接拉取到本地就可以,具体操作是:

  • 获取到远程仓库的地址,如:git@github.com:yourGitHubId/testRepo.git
  • 在指定路径下打开Git Bush终端,运行命令git clone git@github.com:yourGitHubId/testRepo.git

这里可能会提示The authenticity of host 'github.com (13.229.188.59)' can't be established.类似的命令,运行yes就好了 ——— 参考博客

情况2:本地的项目想丢到GitHub上

这种情况挺常见的,就是我本地开发的一个东西,想分享到GitHub,或者想多端同步,在其他电脑上/其他人参与开发。这种情况比前一种要复杂,操作如下:

  • 第1步,创建本地仓库,并提交当前所有修改到本地仓库。

  • 第2步,创建远程仓库,空白仓库。创建完成后,仓库页面会有连接提示,复制仓库地址。

  • 第3步,连接远程仓库,把本地仓库与远程仓库连接起来,运行命令:git remote add online git@github.com:yourGitHubId/testRepo.git,这里add后面的online是随便取的,官方习惯用origin,我这里用online,然后运行gir remote -v查看当前连接的远程仓库信息。

  • 第4步,本地文件首次提交到远程仓库,运行命令git push -u online master,完成后就可以在远程仓库中看到这些文件了,之后的提交不需要加-u

如果不是创建了空白仓库,比如添加了Readme文件,可能会出现-refusing to merge unrelated histories这种报错,这种属于情况3的讨论范畴。

情况3:GitHub有仓库,本地也有项目,想合并到一块

  • 第1步,创建本地仓库,并提交当前所有修改到本地仓库;
  • 第2步,连接远程仓库。运行命令:git remote add origin git@github.com:yourGitHubId/testRepo.git,可以看到远程仓库信息。如果报错,会报
git remote add origin**************
fatal: remote origin already exists.(报错远程起源已经存在。)

上网查了下,有很多小白遇到过这个问题,以下是网上摘取的解决办法,
解决办法如下:

1、先输入 git remote rm origin
2、再输入 git remote add origin**************

这样就不会报错了!

  • 第3步,从拉取远程仓库文件,跟上一种情况不一样,前面是直接推送到远程空白仓库,现在是先从远程仓库拉取文件,正常拉取的命令是git pull origin master,git报警告fatal: refusing to merge unrelated histories,意思是“拒绝合并不相关的历史”。因此要强行合并,使用命令git pull origin master --allow-unrelated-histories,拉取搞定。

  • 第4步,冲突解决。拉取远程仓库文件,很有可能会出现冲突,按照普通冲突的办法解决,然后提交本地仓库。

  • 第5步,推送远程仓库,完成后可以在远程仓库中查看新修改。

总结:如果想本地的内容推送到已有的github仓库,根据第三种情况可知,仍然要pull之后再push,所以还是先pull已有的仓库到本地,在把文件复制到本地的git仓库,在push到远程仓库

具体的步骤可参考:https://www.runoob.com/git/git-remote-repo.html

相关文章

  • 踩坑日常

    基本推送流程 克隆远程仓库到本地仓库:git clone 仓库地址(ssh/http)本地仓库连接远程仓库:git...

  • Git使用小结

    廖雪峰的Git教程 一、Git仓库 仓库分为本地仓库和远程仓库,它们通过秘钥和远程仓库地址来建立连接。 A. 创建...

  • Git 19连接远程仓库

    连接远程仓库 Gitee ========= 命令 git clone url 克隆代码 git remote -...

  • git使用简单命令

    1.初始化本地git仓库:git init 2.本地仓库连接远程仓库:git remote add origin ...

  • git简单使用

    1。当仓库无项目git remote add origin git地址 添加远程仓库地址 相当于事开始连接远程仓...

  • VS Code中进行git远程仓库同步

    本地仓库和远程仓库建立连接 方式一:从Git远程仓库克隆:命令 git clone "SSH方式二:在本地创建一个...

  • Git远程配置

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

  • git 命令整理

    git 命令 简介:clone 克隆远程仓库init 初始化仓库remote 连接远...

  • GitHub入门(二)——远程仓库

    二、GitHub远程仓库 1.连接远程库 本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,需要配...

  • git 之 建立和远程库的连接(上传代码到远程库)

    场景一:远程仓库有代码,clone下来即建立连接 从远程仓库克隆代码到本地仓库默认克隆master 分支: git...

网友评论

      本文标题:git连接远程仓库

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