首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果远程和本地提交历史不同,如何提取分支?

如果远程和本地提交历史不同,如何提取分支?
EN

Stack Overflow用户
提问于 2022-08-10 20:29:54
回答 1查看 43关注 0票数 0

假设我一直在进行一个项目,并且在08:41:11已经将我的分支推到了远程存储库的分支(起源/特性/服务器-java)。

本地回购和远程回购(原产地/特性服务器-java)的git日志如下所示:

代码语言:javascript
运行
复制
92x301b Change to Server java 08:41:11
91881cc Remove Server GO 08:01:10
5f11b11 Change to yaml config 07:50:55
5f462ff Remove json config 07:10:55
7119093 Remove old config 06:30:33
13829ac New Client URL 06:10:40

然后,一些经验丰富的开发人员撤回了该项目,并对git提交的历史进行了更改(压缩和删除了一些提交),随后他强制将更改推到同一个远程分支(原产地/功能/服务器-java)。

现在远程回购(原始/特性/服务器-java)看起来像是( 10:50:10):

代码语言:javascript
运行
复制
32122ae Add Server 10:50:10
fff5223 Add config yaml 09:50:55
23cc544 Change Client URL 09:10:40

这些提交历史记录的更改根本没有改变源代码(所有的测试仍然像以前一样通过)。但是现在我希望用这个变化的历史来提取原点/特性/服务器-java。我该怎么做?我的目标是完全覆盖现有的本地git与远程git的历史。

看来,git pull --no-ff origin feature/server-java帮不上忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-10 20:40:05

你需要先去取:

代码语言:javascript
运行
复制
git fetch origin

那么origin/feature/server-java应该是最新的服务器中的内容。通常,您可能希望执行git mergegit rebase,但是如果您确信不希望进行任何本地更改,只需执行:

代码语言:javascript
运行
复制
git reset --hard origin/feature/server-java

现在,您的分支将与远程分支完全相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73312378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档