网站Logo 苏叶的belog

Git远端仓库

wdadwa
0
2026-03-12

一,介绍

常用的远程仓库有:

  • GitHub:www.github.com

    是一个世界级的面向开源及其私有软件项目的托管平台。因为服务器在国外,访问起来就需要点魔法。

  • Gitee:www.gitee.com

    是国内的一共代码托管平台,相当于国内的 GitHub

  • GitLab:www.about.gitlab.com

    一个仓库级的开源项目,相当于需要你自己搭建的 GitHub

二, 配置Gitee远程仓库

使用方式:

  1. 先注册一个 gitee 账号

  2. 创建仓库
    2953321-20240709222214234-208888360.png
    2953321-20240709222214238-396213435.png

  3. 配置 SSH 公钥免密

    在 cmd 中运行:

    ssh-keygen -t ed25519 -C "Gitee SSH Key"
    

    默认会生成在当前用户目录下的.ssh 目录中

    打开文件:id_rsa.pub 里面就是公钥了

  4. 在 gitee 中配置公钥
    2953321-20240709222213368-2082540887.png
    2953321-20240709222214172-1146376773.png

  5. 测试是否成功:

    ssh -T git@gitee.com
    

注意:.ssh 文件不要移动!

三,配置GitHub仓库

  1. 先注册一个账号

  2. 创建 github 仓库
    2953321-20240709222213389-1145239538.png

  3. 2953321-20240709222213292-774548741.png

  4. 配置 ssh 免密登录
    2953321-20240709222213322-180622609.png

  5. 2953321-20240709222213263-1087234935.png

  6. 2953321-20240709222213271-760959867.png

  7. 执行命令

    ssh-keygen -t ed25519 -C "Gitee SSH Key"
    
    • -t是指定用什么加密算法
    • -C 注释内容(不需要加双引号)

    默认会生成在当前用户目录下的.ssh目录中,打开文件:id_rsa.pub里面就是公钥了

  8. 测试是否生效

    ssh -T git@github.com
    

四,操作远端仓库

4.1 远程仓库的推送

首先要找到远程仓库的地址

2953321-20240709222213424-570702278.png

在本地添加远程仓库:

git remote add origin 远程仓库地址

origin 是远程的意思,一般情况下一个本地仓库只会对应一个远程仓库。

查看远程仓库

git remote

将本地仓库的内容推送到远程仓库中:

git push origin 准备推送的分支

参数:

#强制上传
git push -f origin master
#推送到远端的同时并且建立起和远端分支的关联关系。
git push --set-upstream origin master

完整的命令格式:

git push 远端名称 本地分支名:远端分支名

就是要将本地的 master 分支和云端的 master 分支关联!只需要在第一次推送的时候执行。

4.2 远程仓库的克隆

如果已经有一个远端仓库,我们可以直接 clone 到本地。

git clone 仓库地址

4.3 远程仓库的抓取和拉取

远程分支和本地的分支一样,我们可以进行 merge 操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。

抓取命令:抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

git fetch 远程仓库名 要抓取的分支名
  • 如果不指定远端名称和分支名,则抓取所有分支

拉取命令:拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

git pull 远程仓库名 要抓取的分支名
  • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。

4.4 远程仓库解决冲突问题

在一段时间,A,B 用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。

A 用户在本地修改代码后优先推送到远程仓库,此时 B 用户在本地修订代码,提交到本地仓库后也需要推送到远程仓库,此时 B 用户晚于 A 用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远程仓库。

如下图所示:

2953321-20240709222213399-962209883.png

远程分支也是分支,故合并时解决冲突的方式和本地解决方式一致。

动物装饰