源本科技 | 码上会

Git 远程仓库

2026/04/09
4
0

引言

远程仓库有两种类型:一种是国内使用的 Gitee,另一种是国外使用的 GitHub。下面我们将以 GitHub 为例进行讲解。

Gitee

Gitee 是中国领先的开源代码托管平台,提供 Git 仓库托管、团队协作、CI/CD 等服务。用户可以在 Gitee 上创建、管理和共享代码仓库,实现多人协作开发,同时支持持续集成和部署。作为国内主流开源社区,Gitee 访问速度快、适配国内网络,致力于促进国内开源项目发展,为开发者提供稳定、便捷的代码管理与协作服务。

https://gitee.com

GitHub

GitHub 是全球最大的开源代码托管平台,提供 Git 版本控制、协作开发、问题追踪等功能。开发者可以在 GitHub 上创建仓库,实现代码的共享、协作和社区交流。它支持开源项目和私有仓库,是全球程序员分享、学习和贡献代码的核心平台。GitHub 还提供团队协作、自动化构建、GitHub Actions 持续集成等强大功能,为软件开发提供高效、完整的工具链。

https://github.com/

账号注册

  • 进入首页,点击 Sign up 按钮

  • 进入到注册页面,填写注册信息

  • 注册完成后,就可以登录了,点击首页 Sign in 进行登录

初始化本地仓库

不管使用远程仓库、本机操作,还是团队内部协作,都需要先初始化本地仓库。 初始化命令:

git init

执行后当前目录变为 Git 本地仓库,会生成隐藏的 .git 目录。

创建远程仓库

  • 如果是第一次使用 GitHub,需要登录注册邮箱完成账号验证,验证完成后,在引导界面选择创建第一个仓库

  • 如果不是第一次使用,登录成功后点击右上角 + 号创建仓库

  • 在仓库创建界面填写信息:

    • Repository name:仓库名称

    • Description:仓库描述

    • Public / Private:公开 / 私有仓库

    • 可勾选初始化 README、.gitignore 等文件

关联远程库并起别名

查看远程库的地址

  • 仓库创建成功页面会直接显示远程仓库地址

  • 也可以从 GitHub 首页进入对应仓库,查看仓库连接地址

配置远程库别名

远程仓库地址较长,每次提交输入繁琐,可以通过别名简化操作。

  • 查看当前库关联的远程库

git remote -v

默认无任何远程库关联。

  • 添加远程库并设置别名

git remote add 别名名称 远程仓库地址

通常使用 origin 作为默认别名。

  • fetch:代表可以从该地址拉取文件

  • push:代表可以向该地址推送文件

推送操作

将本地仓库的文件上传到远程仓库,称为推送操作。

推送前需先完成本地提交:

git add 文件名
git commit -m "提交说明"

推送命令:

git push 远程仓库别名 分支名

示例:

git push origin master
  • 控制台执行命令后,按提示输入 GitHub 用户名和密码,点击 Login

  • 部分环境会弹出 OpenSSH 验证界面,继续输入 GitHub 用户名和密码

  • 等待执行,推送成功

  • 刷新 GitHub 仓库页面,可查看已同步的本地内容

克隆操作

将远程仓库完整拉取到本地,称为克隆操作。

命令格式:

git clone 远程仓库地址

克隆操作会自动完成 3 件事:

  1. 初始化本地 Git 仓库

  2. 将远程库内容完整拉取到本地

  3. 自动创建远程库别名 origin

邀请加入团队

实际开发中以团队为单位进行项目开发,只有加入团队的成员,才有权限向远程仓库提交代码。

未加入团队

  • 在本地仓库 github_res 中创建 test1.txt 文件并编写内容

  • 将文件添加到暂存区并提交到本地仓库

  • 尝试将文件推送到远程库

未加入团队的成员不具备推送权限,若此时能提交,通常是本地账号缓存导致的异常状态,并非正常权限。

加入团队

清除账号缓存

同一台电脑切换账号时,Git 会缓存用户名和密码,需要先清除缓存,才能正常切换身份。

团队邀请流程

  • 在工作区新建文件,编辑内容后提交到暂存区与本地仓库

  • 尝试推送到远程仓库

  • 此时会提示输入用户名和密码,需使用团队成员的 GitHub 账号登录

  • 输入后提交失败,原因是当前 GitHub 账号未加入团队,需要由仓库管理员发起邀请。

  • 项目经理登录 GitHub 账号,进入仓库邀请成员

  • 输入要添加的成员用户名

  • 点击邀请

  • 在邀请列表中选择对应成员

  • 复制邀请链接

  • 退出项目经理账号,登录成员账号,在地址栏粘贴邀请链接

  • 被邀请成员接收邀请

  • 切换为成员账号,清除缓存后再次执行 push 操作

  • push 执行成功

  • 查看远程仓库,文件已正常同步

团队协作权限配置完成,成员可正常提交代码。

拉取远程仓库

从远程仓库同步文件到本地仓库,本质是 fetch(拉取)和 merge(合并)两步操作。

fetch + merge

适合代码较多、需要先确认内容再合并的场景。

  • 查看远程库是否有更新

  • 将远程仓库内容拉取到本地(仅下载,不合并到工作区)

git fetch 远程仓库名称 远程分支

注意:git fetch 只会拉取到本地版本库,不会更新工作区文件

  • 拉取后可切换到远程分支查看内容是否正确

  • 确认内容无误后,执行合并

git merge origin/master
  • 查看工作区文件,内容已同步更新

pull

适合代码简单、无需预览,直接拉取并合并的场景。 git pull = git fetch + git merge

命令:

git pull 远程仓库别名 远程分支

协同开发冲突解决

当多个用户同时修改同一个文件的同一行内容并提交时,会产生代码冲突,需要手动解决。

制造冲突

项目经理提交文件

  • 项目经理创建文件并编辑内容,执行 addcommitpush 推送到远程仓库

普通成员拉取并修改

  • 普通成员拉取远程代码(可新建本地仓库演示)

此时未修改同一行,暂不产生冲突。

  • 成员清除账号缓存,修改文件并提交推送

项目经理再次修改并提交

  • 项目经理修改同一文件的同一行,并尝试提交推送

此时推送失败,提示代码冲突。

解决冲突

标准流程:先拉取 → 手动解决冲突 → 再提交推送

  • 以项目经理身份拉取远程最新代码

  • 查看冲突文件,Git 会自动标记冲突区域

冲突标记说明:

  • <<<<<<< HEAD:本地当前代码

  • =======:代码分隔线

  • >>>>>>> 远程分支:远程仓库代码

  • 手动编辑文件,保留需要的内容,删除冲突标记

  • 冲突解决后,重新提交并推送到远程仓库

  • 查看远程仓库,冲突已解决,文件正常更新