首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git中的非快进更新

Git中的非快进更新
EN

Stack Overflow用户
提问于 2016-04-20 15:30:25
回答 2查看 93关注 0票数 2

我查看了关于快进的注意事项并了解了fast-forward如何更新分支。但是我想知道non fast-forward是如何更新一个分支的?上面医生说:

例如,假设您和其他人从同一个commit X开始,您构建了一个导致提交B的历史,而另一个人构建了导致提交A的历史。历史如下所示:

代码语言:javascript
复制
      B
     /
 ---X---A

如果您执行了非快速转发更新,则提交A引入的更改将丢失,因为每个人现在都将开始在B之上构建。

losing changes introduced by A对我来说还不清楚。non fast-forward是否完全更新overwrite目标分支并从历史记录中删除A?所以历史看起来就像X -- B。还是它只是试图做一个合并?还是会发生新的变化?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-20 15:39:22

您必须考虑到链接的页面是关于git push的,也就是说,您正在将本地分支上载到远程服务器。

在这种情况下,执行快速更新是通常的事情:您只需将提交添加到远程分支的尖端。相反,非快速前向更新是在可能添加更多提交之前,从远程分支的尖端删除提交的推送。

所以回答你的问题:

非快速更新是否完全覆盖目标分支并将A从历史记录中删除?

是的,它可以做到这一点。你强迫远程分支看起来和你的本地分支完全一样。

票数 2
EN

Stack Overflow用户

发布于 2016-04-20 15:47:10

是的,如果你那样做了,B会在更新中有效地取代A。通常情况下,你会尝试在A的基础上重新设定B,然后再推。

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

https://stackoverflow.com/questions/36748564

复制
相关文章

相似问题

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