github fork出来的仓库同步upstream

本文介绍如何将从GitHub上Fork的仓库同步至原始的Upstream仓库,包括克隆仓库、添加Upstream远程源、获取原始仓库分支、本地与Upstream同步以及推送至个人远程仓库的详细步骤。

首先clone fork出来的仓库到本地

git clone git@github.com:123/456.git

在 fork 的代码库中添加上游代码库的 remote 源

git remote add upstream git@github.com:789/456.git

获取原始仓库分支和对应的提交

git fetch upstream

在本地实现与upstream的同步

git rebase upstream/master

推送自己的本地仓库到自己的远程仓库

git push

当你通过 `fork` 从一个主仓库(比如 GitHub 上的某个项目)创建了一个自己的副本后,随着时间推移,原仓库(上游仓库)可能会有新的提交和更新。为了让你 fork 出来的仓库保持与主仓库同步,你需要手动将主仓库的更改拉取到你的本地仓库,并推送到你的 fork 仓库。 以下是详细的步骤和代码示例(以 GitGitHub 为例): --- ### ✅ 步骤一:配置上游远程仓库upstream) 首次同步前,需要为你的本地仓库添加原始主仓库作为 `upstream` 远程地址。 ```bash # 查看当前远程仓库(通常只有 origin) git remote -v # 添加主仓库(原作者的仓库)为 upstream git remote add upstream https://github.com/USERNAME/REPO.git ``` > 🔁 替换 `https://github.com/USERNAME/REPO.git` 为原始主仓库的实际 URL。 你可以再次运行 `git remote -v` 确认是否成功添加了 `upstream`。 --- ### ✅ 步骤二:拉取主仓库的最新变更 ```bash # 从 upstream 拉取所有分支和提交 git fetch upstream ``` 这会把主仓库的所有更新下载到本地,但不会自动合并。 --- ### ✅ 步骤三:切换到主分支并合并更新 通常主分支是 `main` 或 `master`,请根据实际情况调整。 ```bash # 切换到主分支 git checkout main # 将 upstream/main 的更新合并到本地 main 分支 git merge upstream/main ``` 如果没有任何冲突,合并就会成功。 --- ### ✅ 步骤四:推送到你的 fork(origin) 将你本地已更新的分支推送到你在 GitHub 上的 fork 仓库: ```bash git push origin main ``` 这样你的 forkGitHub 上也显示为“最新的”。 --- ### 🔄 后续同步建议 以后每次想同步时,只需执行以下命令: ```bash git fetch upstream git merge upstream/main git push origin main ``` 或者可以简化成一个别名(alias): ```bash git config --global alias.sync '!git fetch upstream && git merge upstream/main && git push origin main' ``` 然后使用: ```bash git sync ``` 即可一键同步(前提是已经设置好 `upstream`)。 --- ### 💡 注意事项 - 如果主仓库使用的是 `master` 而不是 `main`,请替换对应分支名。 - 若出现冲突,需手动解决冲突后再提交。 - 不要直接在 fork仓库中修改核心逻辑而不通知原作者,尤其参与开源项目时应遵循贡献指南(CONTRIBUTING.md)。 --- ### 示例完整流程(假设项目名为 my-project) ```bash # 第一次设置 upstream(仅一次) git remote add upstream https://github.com/original/my-project.git # 获取主仓库最新信息 git fetch upstream # 更新本地 main 分支 git checkout main git merge upstream/main # 推送到你的 fork git push origin main ``` --- 上述操作完成后,你的 fork 仓库就与主仓库保持同步了。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值