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

fork一个仓库后,如何快速地与根仓库同步使用场景解决方法1、使用Gitee同步功能,2、删掉自己名下 fork 的仓库,再 fork 一次3、设置上游代码库4、主仓库与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项目代码同步完成。

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: