免责声明:我显然对Git缺乏经验。感谢您的帮助和耐心。
偶尔在使用"功能"分支一段时间,我想从主人那里获得新的变化。让我们说功能分支是x提交在主人后面。当我更新功能分支时,我使用的git工具(例如SourceTree,GitHub(推送时)等)报告我刚刚在我的功能分支上创建了x个新提交。
最终,历史记录仅显示单个合并提交。然而,奇怪的事情发生在这些" x"提交。例如,当我推送分支时,我们的Slack通道(通过GitHub生成)发布了一个帖子声称我刚刚添加了y提交(其中y = x + [新的,非合并相关提交的数量在功能分支])
例如,我刚刚将master合并到我的功能分支中,SourceTree现在显示我有97个提交准备被推送。 (在合并之前,SourceTree只显示我有2次未提交的提交):
这是正常的吗? git / SourceTree是否有效地引用"引用"原始提交而不是在全新提交中复制相关代码更改?
这些都不是什么大问题,但它有点误导和混乱。我做错了吗?
答案 0 :(得分:0)
不应将master合并到您的功能中,而应将您的功能重新设置为master。这假设您尚未推送更改。
git fetch <remote>
git checkout <feature>
git rebase <remote>/master
这将确保您仅推送 提交。
答案 1 :(得分:0)
以防其他人将来有同样的问题。以下是一种可能的方法。