黑马程序员Git分布式控制工具-远程GitHub仓库

上一篇文章主要记录了Git的本地仓库使用:黑马程序员Git分布式控制工具-本地仓库,本篇文章主要记录如何利用Git来操作GitHub

五、Git远程仓库

5.1 配置连接上GitHub


连接上GitHub

# 配置github用户名
git config --global user.name "用户名"
# 配置github绑定的邮箱
git config --global user.email "邮箱"

执行完之后肯查看配置是否生效

git config --global --list
5.1.1 正常情况

正常情况下设置密钥即可连接,随后设置密钥

ssh-keygen -t rsa

连续敲击三次回车,结束后去检查用户名下的.ssh文件夹,例如(/c/Users/29973/.ssh/),生成id_rsaid_rsa.pub即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P6TuxxXb-1678258712696)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230226104855420.png)]

将公钥 id_rsa.pub添加到GitHub管理平台中,在GitHub的个人账户的设置中找到如下界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OLh56mfz-1678258712696)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230226105131715.png)]

添加之后可执行如下命令测试连接

ssh -T git@github.com

回复yes即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nf2my2ug-1678258712698)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230226110645559.png)]

如果出现successly字样,则表示连接成功

5.1.2 端口超时

绝大部分情况下会出现连接超时现象:ssh: connect to host github.com port 22: Connection timed out,修改步骤如下:

  1. 我们先删除id_rsaid_rsa.pub
  2. .ssh文件夹下新建config文件(注意,没有文件后缀),添加如下内容,其中第二行的邮箱需要替换为github中绑定的邮箱
Host github.com
User 
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
  1. 再次生成密钥
ssh-keygen -t rsa
  1. 按照上述正常步骤添加密钥
  2. 测试连接即可成功

5.2 设置连接

使用代码进行远程连接,其中origin是远程仓库我们设置的本地名称

git remote add origin git@github.com:用户名/仓库名

5.3 查看连接

验证仓库是否连接成功

git remote

在这里插入图片描述

5.4 移除仓库rm

git remote rm origin

5.5 推送到远程仓库push

将本地的仓库推送到远程仓库

git push origin master

其中还可以指定远端的分支名称

git push [-f]  [--set-upstream]  [远端名称 [本地分支名][:远端分支名] ]
  • 其中-f表示强行覆盖,如果远程分支名和本地分支名称相同,则可以只写本地分支。

  • 其中--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。

  • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名,即只写git push

所以其实我们完整的表达,应该是如下:

git push origin master:master

5.6 本地分支和远端分支的关系branch

查看关联关系

git branch -vv

5.7 克隆clone

从远端克隆仓库到本地(一般只需要克隆一次即可,剩余的更新使用pull即可),但是这里要注意,会进入默认分支,如果存在其余分支,需要另外进入

git clone git@github.com:用户名/仓库名 本地位置

5.8 抓取fetch

如果我们每更新一次仓库,我们都要clone一次,那么将大大降低我们的效率,所以在现实的使用过程中,我们都只clone一次仓库,随后我们可以通过抓取命令来实现内容的更新

假设master分支下只有三个文件,如图,并且我们把他克隆到了本地
在这里插入图片描述

随后,我们添加上传了一个新的文件

在这里插入图片描述

此时我们使用拉取,显示拉取成功,但是文件夹下面并没有这个文件

git fetch

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ltvs8AHw-1678258712702)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230307201435769.png)]

此时我们需要用到合并,将拉取下来的文件合并到我们当前的文件夹中

git merge origin/master

在这里插入图片描述

5.9 拉取pull

上述流程过于复杂,我们可以用一个二合一的命令pull来简化操作,当我们更新了内容之后,用pull即可将内容抓取并且合并起来

git pull
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值