Github上 fork了别人的代码 本地更新主分支代码

本文介绍如何使用GitHub的fork功能创建项目副本,并通过一系列git命令,如添加远程仓库、抓取更新、合并分支等操作,来同步原作者项目的最新更改。

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

在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染。但经过一段时间, 有可能作者原来的代码变化很大, 你想接着在他最新的代码上修改, 这时你需要合并原作者的最新代码过来, 让你的项目变成最新的。
1、先克隆项目到本地:
Git clone https://github.com/iakuf/mojo
cd mojo
2、添加原作者项目的 remote 地址, 然后将代码 fetch 过来
git remote add sri https://github.com/kraih/mojo
git fetch sri
‘sri’相当于一个别名
查看本地项目目录: git remote -v
3、合并
git checkout master
git merge sri/master
如果有冲突的话,需要丢掉本地分支:
git reset –hard sri/master
4、这时你的当前本地的项目变成和原作者的主项目一样了,可以把它提交到你的GitHub库
git commit -am ‘更新到原作者的主分支’
git push origin
git push -u origin master -f –强制提交

<think>好的,我现在需要解决用户的问题:在GitHubfork的源代码不包含版本(tag),如何解决?首先,我得回忆一下用户提供的引用内容,看看有没有相关的解决方法。 用户提到了引用[3],里面提到了如何同步fork仓库的tag。步骤包括克隆自己的仓库,添加原始仓库为upstream,然后获取tag并推送。这可能就是关键步骤。另外,引用[4]也提到使用git remote add upstream来建立源仓库的链接,这可能也是必要的。 首先,用户fork的仓库默认可能不会自动同步原仓库的tag,所以需要手动操作。根据引用[3],用户需要先克隆自己的fork仓库到本地,然后添加原始仓库为upstream。接下来,用git fetch upstream --tags来获取所有tag,然后通过git push --tags推送到自己的fork仓库中。这样就能把原仓库的tag同步过来了。 另外,可能还需要同步分支更新,比如用git rebase upstream/master,确保代码是最新的。然后推送分支和tag。用户可能遇到的问题是没有配置upstream,或者没有获取tag就直接推送了。需要检查这些步骤是否都正确执行。 总结步骤应该是:克隆fork的仓库,添加upstream远程,获取tag,合并或变基分支,最后推送tag到自己的仓库。这样就能解决fork后不包含版本的问题了。</think>要在GitHub上通过Fork获取带有版本控制(如Tag)的源代码,需手动同步原始仓库的标签。以下是具体步骤: ### 步骤说明 1. **克隆你的Fork仓库** ```bash git clone https://github.com/你的用户名/仓库名.git cd 仓库名 ``` 2. **添加原始仓库为上游(Upstream)** ```bash git remote add upstream https://github.com/原始作者/仓库名.git ``` 这一步用于建立与原始仓库的关联[^4]。 3. **同步原始仓库的Tag和分支** ```bash git fetch upstream --tags # 拉取原始仓库的所有Tag[^3] git rebase upstream/master # 同步分支更新(若分支是main则替换为main) ``` 4. **将Tag推送到你的Fork仓库** ```bash git push origin master # 先推送分支更新 git push --tags # 推送所有Tag到你的仓库 ``` ### 验证结果 - 在GitHub仓库页面的**Releases/Tags**栏中,应能看到同步后的Tag。 ### 后续更新 若原始仓库新增Tag,重复步骤3-4即可同步最新版本。 --- ### 相关问题 1. 如何避免Fork仓库与原始仓库的分支冲突? 2. Git中`git fetch`和`git pull`的区别是什么? 3. 如何删除本地或远程仓库中无效的Tag? [^1]: 引用自GitHub Fork代码更新方法 : 引用自GitHub同步Tag的解决方案 [^4]: 引用自双向更新中upstream配置方法
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值