免责声明:我仍然对Git缺乏经验。感谢您的帮助和耐心等待。

有时,在“功能”分支中工作了一段时间后,我想从master那里获取新的更改。假设特征分支是x,在master后面提交。更新功能分支时,我使用的git工具(例如SourceTree,GitHub(按下时)等)报告我刚刚在功能分支上创建了x个新提交。

最终,历史记录仅显示单个合并提交。但是,由于这些“x”提交而发生了奇怪的事情。例如,当我按下分支时,在我们的Slack频道(通过GitHub生成)上发了一条帖子,声称我刚刚添加了y个commits(其中y = x + [功能分支])

例如,我刚刚将master合并到我的功能分支中,并且SourceTree现在显示我已经准备好要推送的97个提交。 (在合并之前,SourceTree仅显示我有2个未按下的提交):

这正常吗? git / SourceTree是否有效地只是“引用”原始提交,而不是在全新的提交中复制相关的代码更改?

所有这些都不是什么大不了的事,但这有点误导和混乱。难道我做错了什么?

最佳答案

不应将母版合并到功能中,而应将功能重新部署到母版上。前提是您尚未推送更改。

git fetch <remote>
git checkout <feature>
git rebase <remote>/master

这将确保您仅将提交推送到

关于git - 从master更新功能分支-x提交吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28290764/

10-09 20:58
查看更多