Git添加更新上游仓库

当你在 GitHub(代码仓库)上 Fork 了别人的项目并进行了自定义修改后,若原项目有更新,你可通过以下步骤将这些更新同步到你的项目中。

1、查看分支

要查看与你的本地 Git 仓库关联的上游仓库(通常是指原始仓库或你 Fork 的来源仓库),可以使用以下 Git 命令:

1
git remote -v

这条命令会列出所有远程仓库以及它们的 URL,包括读取和写入 URL。在输出中,你通常会看到像 origin 这样的默认远程仓库,以及你可能添加的任何其他远程仓库,比如 upstream。

如果你已经按照惯例将上游仓库添加为upstream,那么输出中会包含一行形如:

1
2
3
4
origin  https://gitee.com/tony2y/RuoYi-flowable.git (fetch)
origin https://gitee.com/tony2y/RuoYi-flowable.git (push)
upstream       https://gitee.com/y_project/RuoYi-Vue.git (fetch)
upstream       https://gitee.com/y_project/RuoYi-Vue.git (push)

这表示upstream是你的上游仓库的别名,以及如何通过 URL 访问它。

如果你想查看上游仓库的更多信息,例如它的分支结构,可以使用:

1
git remote show upstream

这条命令会提供关于upstream仓库的详细信息,包括其 HEAD 所指向的提交、远程仓库的 URL、跟踪的分支等。

2、添加上游仓库(Upstream Repository)

首先,你需要将原作者的仓库添加为你的仓库的上游仓库,这样你就可以随时拉取最新的更改。

打开终端或命令提示符。

切换到你的本地仓库目录(之前你 Fork 并 Clone 下来的项目)。

执行以下命令,将original-authorrepo-name替换为原作者的用户名和仓库名:

1
git remote add upstream https://github.com/original-author/repo-name.git

3、 检查上游仓库的更新

定期检查上游仓库是否有新的提交,可以使用以下命令:

1
git fetch upstream

4、 合并上游更新到你的分支

如果你想将上游的更新合并到你的 main 或 master 分支(假设这是你跟踪的上游分支),可以执行:

1
2
git checkout main       # 切换到你的主分支
git merge upstream/main  # 将上游的main分支合并到你的当前分支

或者,如果你的分支名称不同,相应地替换 main。

5、 解决冲突 (建议使用IDEA插件或者Git工具)

如果合并过程中出现冲突,Git 会告诉你哪些文件需要手动解决冲突。编辑这些文件,解决冲突后,使用 git add 命令标记这些文件已解决,然后继续完成合并:

1
2
git add <conflicted-file>
git commit -m "Merge upstream changes and resolve conflicts"