跳至主要內容

03 【远程库操作】

约 920 字大约 3 分钟...

03 【远程库操作】

1.推送到远程库

1.1 创建github仓库

创建新仓库 (github.com)open in new window

image-20221006163144237
image-20221006163144237

1.2 创建远程库地址别名

git remote -v 查看当前所有远程地址别名

git remote add [别名] [远程地址]

image-20221006163319039
image-20221006163319039

1.3 推送

git push [别名] [分支名]

image-20221006163529176
image-20221006163529176
image-20221006163609629
image-20221006163609629

2.加入团队并推送

2.1 克隆项目到本地

git clone 仓库地址

image-20221006164655915
image-20221006164655915

效果

  • 完整的把远程库下载到本地

  • 创建 origin 远程地址别名

  • 初始化本地库

2.2 添加新成员加入团队

image-20221006164837999
image-20221006164837999
image-20221006164827658
image-20221006164827658
image-20221006165016543
image-20221006165016543
image-20221006165030823
image-20221006165030823

2.3 推送更新到远程库

1.更改用户名

image-20221006184421259
image-20221006184421259

2.修改文件并提交到本地库

image-20221006170100066
image-20221006170100066

3.推送到远程库

image-20221006184352833
image-20221006184352833
image-20221006184333691
image-20221006184333691
image-20221006184344102
image-20221006184344102

3.远程库的 SSH 登录

在 Windows 10 系统中,凭据管理器为我们记录了 GitHub 的 Windows 凭据,再次从终端经过 GitHub 写数据时,可自动保持登录状态。但其他 OS 不一定有这样的功能,因此不便于频繁地提交版本。 为此,可以使用 SSH 登录的方式访问远程库。

不同于 SSH 登录,使用 HTTPS 的方式可以在多个 GitHub 帐号间管理仓库。

image-20220827231735884
image-20220827231735884

3.1 在本地 Home 目录生成 GitHub 公/私钥

cd ~进入当前用户的根目录

rm -rvf .ssh 删除.ssh 目录

使用命令ssh-keygen -t <KeyType> -C <Annotation|AccountEmailAddress>在本地 Home 目录生成 GitHub 公/私钥。

ssh-keygen -t rsa -C dselgent@qq.com

image-20220827232018116
image-20220827232018116

3.2 查看 .ssh 目录下的文件

cd .ssh

cat id_rsa.pub

image-20220827232355616
image-20220827232355616

将秘钥全部复制

3.3 在 GitHub 配置该 SSH 公钥

登录 GitHub 账户后,进入Settings中的SSH and GPG keys项执行配置:

image-20220827232156887
image-20220827232156887
image-20220827232550986
image-20220827232550986

3.4 更改在本地的远程库地址

使用git remote set-url <Alias4RemoteRepositoryAddress> <RemoteRepositoryAddress>命令,将远程库地址由 HTTPS 方式切换为 SSH 方式:

image-20220827233228262
image-20220827233228262

也可以直接添加一个新的别名origin_ssh

image-20221006192328180
image-20221006192328180

随后,即可使用 SSH 的方式免密读写 GitHub 的内容。

image-20221006192705628
image-20221006192705628
image-20221006192719254
image-20221006192719254

4.解决冲突

4.1 冲突的产生

冲突的产生:本地仓库与线上不一致时未git pull就开始编写代码 并且在编写完代码后试图git push

image-20221006193046462
image-20221006193046462

4.2 解决冲突

  • 要点
    • 如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
    • 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。
  1. 首先我要在两个本地库更改test2.txt中的内容

dselegent

image-20221006194022775
image-20221006194022775

dselegent-gmail

image-20221006194132829
image-20221006194132829
  1. dselegent推送到远程库
image-20221006194251330
image-20221006194251330
image-20221006194305353
image-20221006194305353
image-20221006194313397
image-20221006194313397
  1. dselegent-gmail推送到远程库
image-20221006194350085
image-20221006194350085
  1. dselegent-gmail中使用git pull origin master拉取最新的内容

pull=fetch+merge

git fetch [远程库地址别名]

git merge [远程库地址别名/远程分支名】

git pull [远程库地址别名] [远程分支名]

image-20221006194801202
image-20221006194801202
image-20221006194846829
image-20221006194846829
image-20221006195232425
image-20221006195232425
  1. dselegent-gmail推送到远程库
image-20221006195309995
image-20221006195309995
image-20221006195326732
image-20221006195326732
image-20221006195334121
image-20221006195334121

5.跨团队协作

这里先把dselegent-gmail退出团队用来做示例

  1. 点击右上角fork
image-20221006195537205
image-20221006195537205
image-20221006200645023
image-20221006200645023
  1. 克隆到本地
image-20221006200507493
image-20221006200507493
  1. 修改文件推送到远程库
image-20221006200627526
image-20221006200627526
  1. Pull Request
image-20221006200928505
image-20221006200928505
image-20221006200916957
image-20221006200916957
  1. dselegent中接收

    image-20221006201438135
    image-20221006201438135
image-20221006201507387
image-20221006201507387
image-20221006201542512
image-20221006201542512
已到达文章底部,欢迎留言、表情互动~
  • 赞一个
    0
    赞一个
  • 支持下
    0
    支持下
  • 有点酷
    0
    有点酷
  • 啥玩意
    0
    啥玩意
  • 看不懂
    0
    看不懂
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8