0


【Gitee进行fork后的仓库,与原仓库同步】

Gitee进行fork后的仓库,与原仓库同步

fork一个仓库后,如何快速地与根仓库同步

使用场景

1、fork 一份原仓库的项目到我们自己的仓库中,
2、在自己的仓库中切新的分支进行开发,开发完成之后,再推送到自己的仓库
3、在原仓库进行Pull Request,等待审核人审核代码通过后,我们的分支就被合并到原仓库中

而在这个过程中,原仓库的代码经常会变动,而 Gitee 不会帮我们自动同步原仓库的代码,我们不确保自己修改的代码是否是最新的。因此我们就面临这样的一个问题:“Gitee 进行 fork 后的仓库,如何与原仓库同步?”

解决方法

1、使用Gitee同步功能,

该功能会强制同步主仓库全部分支到Fork项目,会覆盖Fork项目代码,若Fork项目中存在没有推送到主仓库的代码,会被覆盖,并且不可撤销;
在这里插入图片描述

2、删掉自己名下 fork 的仓库,再 fork 一次

1)、第一步,进去自己的仓库,在仓库设置中删除仓库
在这里插入图片描述
2)、第二步,再次去 fork 一次原仓库

3、设置上游代码库

从主仓库拉取代码到本地,在本地合并主仓库代码与Fork项目代码,再push到远程Fork项目,完成主仓库 =>> Fork项目代码同步;
拉取 GitHub 仓库最新代码后,在 Merge 或 Pull 到本地

以下步骤在git窗口执行。打开git命令窗口

1)、第一步,查看当前的上游代码库

git remote -v # 查看当前的上游代码库
$ git remote -v
origin https://gitee.com/XXX/XXX.git(fetch)
origin https://gitee.com/XXX/XXX.git(push)

2)、第二步,再设置一个上游代码库,为 fork 的仓库地址

git remote add upstream URL #在设置一个新的上游代码库
$ git remote add upstream https://gitee.com/AAA/AAA.git .git
$ git remote -v
origin https://gitee.com/XXX/XXX.git(fetch)
origin https://gitee.com/XXX/XXX.git(push) 
upstream https://gitee.com/AAA/AAA.git(fetch)
upstream https://gitee.com/AAA/AAA.git(push)

3)、第三步,拉取新设置的上游代码库

git fetch upstream # 拉取新设置的上游代码库 
$ git fetch upstream
  • 命令解析: git fethc upstrem: 拉取主仓库代码到本地(上游代码库,非自己本地代码仓库)

3.1)、合并上游代码库和本地分支

git merge upstream/master
git merge upstream/master #根据自己设置分支进行选择设置
  • 命令解析: git merge upstream/master: 合并上游代码库的master分支到本地代码库master分支

4)、第四步,切换本地分支到 main 分支,拉取或合并远程分支到本地分支

  • 此时本地的master分支就更新至upstream的master版本,然后利用push将本地分支覆盖到git远程分支上(注:不执行此步骤,则远程Fork项目和源仓库(主仓库)代码并没有同步):$ git checkout main # 切换本地分支到main分支
$ git checkout main # 切换本地分支到main分支 

# 使用Pull拉取分支
$ git pull --rebase upstream main # 将上游仓库的main分支通过rebase的形式拉取到本地main分支
# 或者使用Merge
$ git merge upstream main # 使用Merge会多一条merge commit,而pull --rebase不会有 

$ git push origin main # 再将本地的分支推送到自己的远程仓库 

4、主仓库与Fork项目代码同步完成。

标签: gitee git github

本文转载自: https://blog.csdn.net/weixin_52755319/article/details/130966092
版权归原作者 砚言 所有, 如有侵权,请联系我们删除。

“【Gitee进行fork后的仓库,与原仓库同步】”的评论:

还没有评论