Git3️⃣远程仓库 & 分支

1、代码托管平台

  • GitHub:国外的面向开源及个人项目的托管平台,仅支持 Git 版本库格式。
  • Gitee:相比 GitHub,位于国内,且支持 Git 和 SVN。
  • GitLab:通常用于搭建企业内部代码托管平台。

1.1、创建远程仓库

  1. 注册账号
  2. 创建远程仓库

1.2、配置 SSH 公钥(❗)

Hint

  1. 前置操作:已配置本地 Git 的用户名和邮箱(👉 Git 2.3.2)。

  2. 作用:使本地仓库获得访问远程仓库的权限,否则本地操作远程仓库时会报错 Permission denied

    Permission denied(publickey).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correce access rights and the repository exitsrs.
    

步骤:进入 Git bash

  1. 查看密钥:位于 用户目录\.ssh,没有该目录说明尚未生成密钥。

    ls ~/.ssh
    
  2. 生成公钥:不断回车即可。

    ssh-keygen -t rsa
    
  3. 配置公钥:添加公钥内容(id_isa.pub)。

    image-20220512150055666

  4. 确认配置成功:在本地执行,提示成功信息即可。

    # 格式
    ssh -T git@地址
    
    # 示例
    ssh -T git@github.com
    ssh -T git@gitee.com
    ssh -T git@bitbucket.org
    

2、远程仓库

image

2.1、remote(❗)

远程仓库操作

  • 查看

    git remote
    
  • 添加:将已初始化的本地仓库与远程仓库关联。

    • 远端仓库名称:通常是 origin,取决于服务器设置。

    • 仓库路径:通常是 SSH 连接,也可以是 HTTP

      git remote add <远程仓库名> <仓库路径>
      
  • 删除:通常与 add 结合,修改远程仓库路径。

    git remote remove <远程仓库名>
    

2.2、clone

Hint:通常只会在首次参与项目开发时进行 clone 操作。

  • 仓库路径:通常是 SSH 连接,也可以是 HTTP

  • 本地目录:克隆仓库的本地保存路径,可省略。

    git clone <仓库路径> [本地目录]
    

3、远程分支(❗)

git branch -vv:查看本地分支与远程分支的关联关系。

3.1、push

推送:将本地代码推送到远程仓库。

  1. -f:强制覆盖。

  2. --set-upstream:推送时建立关联关系。

  3. 仓库信息

    • 若本地与远程分支名相同,可省略远程分支名。

    • 若已建立关联关系,可省略仓库名称和分支名。

      git push [-f] [--set-upstream] [远端仓库名称 [本地分支名][:远程分支名] ]
      

示例

# 建立关联关系
git push origin dev:dev

# 分支名相同:省略远程分支名
git push origin dev

# 已建立关联关系:省略仓库信息
git push

3.2、fetch & pull

3.2.1、拉取

将远程仓库的更新拉取到本地,合并后才会出现在本地仓库。

  • fetch:拉取不合并,需手动 merge。

    # 指定分支
    git fetch [远程仓库名] [分支名]
    
    # 所有分支
    git fetch
    
  • pull:拉取且合并,相当于 fetch + merge。

    # 指定分支
    git fetch [远程仓库名] [分支名]
    
    # 拉取所有分支,更新当前分支
    git fetch
    

3.2.2、冲突处理

  • 远程分支的合并:先 fetch 后 merge,本质上是对本地分支的合并。
  • 冲突处理方式:见 👉 本地仓库 3.3.3
posted @ 2022-05-23 23:13  Jaywee  阅读(39)  评论(0编辑  收藏  举报

👇