复制开源项目后如何保持同步更新(使用git fork)的详细步骤

1,721 阅读1分钟

同步源仓库代码更新步骤

第一步:fork目标仓库(将源仓库代码复制到自己的账号仓库中)

image.png

第二步:拉取自己仓库到本地

//自己仓库的地址
git clone https://gitee.com/xxxxxxxx/vue-project.git 

第三步:配置上游仓库地址

//源仓库的地址(自己复制的开源项目地址)
git remote add upstream https://github.com/original/original-target.git

第四步:拉取源仓库的更新

//拉取上游仓库更新(开源项目)
git fetch upstream

第五步:合并更新,拉取开源项目更新代码

//切换分支:自己需要更新开源项目的分支
//注意:master分支名,需要根据情况自行更改,开源项目可能存在多个分支,根据自己需要的分支进行合并
git checkout master  //默认master,本地默认创建
git merge upstream/master //推荐使用merge进行合并,保存相对完整的合并记录信息
## git rebase upstream/master

//切换其他分支
git checkout -b master-jdk17 origin/master-jdk17 //创建本地分支master-jdk17并关联远程分支origin/master-jdk17

第六步:推送更新

//推送上游仓库(开源项目)到自己仓库中
git push origin master(或者master-jdk17) # 如果不是master分支,请将其替换为你的主分支名称

拓展1:拉取源仓库的所有分支更新并上传

# 获取 upstream 的所有分支(尚不稳定,慎用)
git fetch upstream

# 列出所有远程分支
git branch -r | grep 'upstream/' | sed 's/upstream\///' | while read branch; do
  git checkout -b $branch origin/$branch   # 切换到本地分支
  git merge upstream/$branch               # 合并上游分支
  git push origin $branch                  # 推送到 origin
done

拓展2:同步标签(Tags)

# 拉取 `upstream` 的新标签
git fetch upstream --tags

# 推送标签到 `origin`
git push origin --tags