【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项目代码同步完成。
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值