当你从某个项目 Fork 出自己的版本,并希望保持与上游项目(即你 Fork 出来的原始项目)的同步,同时在本地进行自己的更改,你可以按照以下步骤操作:
-
克隆你的 Fork: 首先,你需要克隆你的 Fork 到本地。使用
git clone
命令,并指定你的 Fork 的 URL:git clone <你的Fork的URL>
-
添加上游仓库: 克隆后,进入项目目录,添加上游仓库作为远程仓库之一。这通常叫做
upstream
:cd <你的项目目录> git remote add upstream <上游项目的URL>
-
获取上游仓库的更改: 定期从上游仓库获取最新的更改:
git fetch upstream
-
保持本地分支与上游同步: 如果你想要将上游的更改合并到你的本地分支,首先确保你的本地分支是基于上游的
main
分支(或其它相应的分支):git checkout main # 或者你克隆时的起始分支 git pull upstream main
这会将上游的
main
分支的更改合并到你的本地main
分支。 -
创建你自己的分支: 在你的本地
main
分支上,你可以基于当前的状态创建你自己的分支,用于开发新功能或进行更改:git checkout -b my-feature-branch
-
进行本地更改: 在你自己的新分支上进行更改,提交这些更改:
# 进行更改... git add . git commit -m "描述你的更改"
-
推送你的更改到你的 Fork: 将你的更改推送到你的远程 Fork:
git push origin my-feature-branch
-
创建 Pull Request: 如果你想要将你的更改贡献回上游项目,你可以在 GitHub 上从你的 Fork 创建一个 Pull Request。
-
保持 Fork 与上游同步: 如果你想要持续地保持你的 Fork 与上游项目同步,你可以定期执行步骤 3 到 5,以获取上游的最新更改并合并到你的 Fork 的
main
分支。
通过这种方式,你可以在本地自由地进行更改,同时保持与上游项目的同步,并能够将你的更改推送到你的 Fork,进而为上游项目贡献代码。