Git学习 <day7>-同步新分支到自己的github

本文介绍了两种方法将GitHub上fork的项目中新增的分支同步到个人GitHub仓库。方式一是重新fork,删除原有项目后再 fork 最新的版本;方式二是通过本地仓库,将新增分支拉取到本地,然后推送到个人GitHub仓库。详细步骤包括添加远程仓库、创建本地分支、拉取和推送操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在Github上fork了一个名为Telkom的项目,因为主人的github上当前只有master,dev,test三个分支,因此我fork完了之后,我的github也只有master,dev,test三个分支。
随后主人又创建了testA,testB,testC三个分支,我如何把这新创建的三个分支同步到我的github中去呢?

方式一:重新fork

点击Setting按钮,在打开的页面底端可以看到Danger Zone ,点击Delete this repository,删除我fork的Telkom项目,这个操作相当于unfork,注意首先要进入到我github下的Telkom项目中,再进入Settings:

删除完毕后,可以看到我的github中已经没有Telkom这个项目了,接下来重新fork主人的Telkom项目。
先进入主人的Telkom项目主页,在点击fork

接下来就已经同步最新的Telkom到我自己的github中了:

可以看到所有的分支都已同步。

方式二:利用本地仓库

首先把我的github中的Telkom克隆到本地:
git clone git@github.com:sarahzhouUestc/Telkom.git
通过git branch 看到本地克隆下来的Telkom项目只有master分支。当前我github上的分支是master,dev,test。我的策略是:把主人新建的testA,testB,testC分支分别拉取到本地仓库,然后再有本地仓库push到我的github,相当于拿本地仓库当个中转站。

  1. ➜ Telkom git:(master) git remote add staging git@github.com:oryjk/Telkom.git
    添加主人的远程仓库。

  2. ➜ Telkom git:(master) git remote
    origin
    staging

    可以看到当前我添加的远程主机除了我自己的github远程仓库(取名origin),还有主人的远程仓库(取名为staging)。
    使用以下命令可以看到详细信息:
    ➜ Telkom git:(master) git remote -v
    origin git@github.com:sarahzhouUestc/Telkom.git (fetch)
    origin git@github.com:sarahzhouUestc/Telkom.git (push)
    staging git@github.com:oryjk/Telkom.git (fetch)
    staging git@github.com:oryjk/Telkom.git (push)

  3. ➜ Telkom git:(master) git fetch staging
    From github.com:oryjk/Telkom
    *[new branch] dev -> staging/dev
    *[new branch] master -> staging/master
    *[new branch] test -> staging/test
    *[new branch] testA -> staging/testA
    *[new branch] testB -> staging/testB
    *[new branch] testC -> staging/testC

  4. ➜ Telkom git:(master) git checkout -b testA staging/testA
    Branch testA set up to track remote branch testA from staging.
    Switched to a new branch 'testA'

    基于主人的testA分支创建本地分支testA。其中这个命令可以分解为以下2个命令:
    (1)
    创建本地分支:
    ➜ Telkom git:(master) git checkout -b testB
    Switched to a new branch 'testB'

    (2)
    拉取主人远程仓库staging的testB分支内容到我本地testB分支中:
    ➜ Telkom git:(testB) git pull staging testB
    From github.com:oryjk/Telkom
    *branch testB -> FETCH_HEAD
    Already up-to-date.

  5. 将本地仓库的testA,testB,testC分支push到我的github远程主机上:
    ➜ Telkom git:(testA) git push origin testA
    Total 0 (delta 0), reused 0 (delta 0)
    To git@github.com:sarahzhouUestc/Telkom.git
    *[new branch] testA -> testA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值