【git】github 如何同步别人的仓库

【git】github 如何同步别人的仓库

前言

假设你有两个 Git 仓库,并希望同步它们,以便它们含有相同的内容。

你必须要在 Git 中配置一个远程服务器指向上游的仓库地址,这样你在 fork 中的更改才能同步到原始的仓库里。这样也能把原始仓库中的变更同步到 fork 里。

第 1 步

打开终端,进入本地项目的工作目录。

第 2 步

查看你的 fork 当前配置的远程仓库地址:

bash 复制代码
$ git remote -v
 origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
 origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

第 3 步

指定当前 fork 将要同步的上游远程仓库地址:

bash 复制代码
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

第 4 步

验证一下你刚指定的上游仓库地址:

bash 复制代码
$ git remote -v
 origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
 origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
 upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
 upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

第 5 步

从上游仓库拉取分支及其对应的提交记录。对于 master 的提交会保存在一个本地分支 upstream/master 里。

bash 复制代码
$ git fetch upstream
 remote: Counting objects: 75, done.
 remote: Compressing objects: 100% (53/53), done.
 remote: Total 62 (delta 27), reused 44 (delta 9)
 Unpacking objects: 100% (62/62), done.
 From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
 * [new branch] master -> upstream/master

第 6 步

签出你的 fork 的本地 master 分支

bash 复制代码
$ git checkout master
 Switched to branch 'master'

第 7 步

把 upstream/master 中的变更合并到本地的 master 分支里。这样你的 fork 的 master 分支就和上游仓库同步了,也不会丢失本地的更改。

bash 复制代码
$ git merge upstream/master
 Updating a422352..5fdff0f
 Fast-forward
 README | 9 --- --- --- -
 README.md | 7 ++++++
 2 files changed, 7 insertions(+), 9 deletions(-)
 delete mode 100644 README
 create mode 100644 README.md

第 8 步

把更改推送到服务器:

bash 复制代码
$ git push
相关推荐
草梅友仁3 小时前
草梅 Auth 1.10.1 发布与浏览器自动化工具 | 2025 年第 42 周草梅周报
开源·github·自动化运维
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2025-10-18)
ai·开源·大模型·github·ai教程
JinSo11 小时前
pnpm monorepo 联调:告别 --global 参数
前端·github·代码规范
代码or搬砖11 小时前
Git学习笔记(三)
笔记·git·学习
虾说羊15 小时前
git连接远程仓库并拉去推送以及克隆命令
git
IT~狂男16 小时前
GIT 实战命令操作大全,代码变动,推动,修改备注,撤销(篇幅一)
git
前端拿破轮16 小时前
从0到1搭一个monorepo项目(一)
前端·javascript·git
绝无仅有17 小时前
面试真实经历某商银行大厂数据库MYSQL问题和答案总结(二)
后端·面试·github
绝无仅有17 小时前
通过编写修复脚本修复 Docker 启动失败(二)
后端·面试·github
消失的旧时光-194318 小时前
git的 Rebase
git