从master更新功能分支 - x提前提交?

时间:2015-02-03 03:17:27

标签: git github merge

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

偶尔在使用"功能"分支一段时间,我想从主人那里获得新的变化。让我们说功能分支是x提交在主人后面。当我更新功能分支时,我使用的git工具(例如SourceTree,GitHub(推送时)等)报告我刚刚在我的功能分支上创建了x个新提交。

最终,历史记录仅显示单个合并提交。然而,奇怪的事情发生在这些" x"提交。例如,当我推送分支时,我们的Slack通道(通过GitHub生成)发布了一个帖子声称我刚刚添加了y提交(其中y = x + [新的,非合并相关提交的数量在功能分支])

例如,我刚刚将master合并到我的功能分支中,SourceTree现在显示我有97个提交准备被推送。 (在合并之前,SourceTree只显示我有2次未提交的提交):

enter image description here

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

这些都不是什么大问题,但它有点误导和混乱。我做错了吗?

2 个答案:

答案 0 :(得分:0)

不应将master合并到您的功能中,而应将您的功能重新设置为master。这假设您尚未推送更改。

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

这将确保您仅推送 提交。

答案 1 :(得分:0)

以防其他人将来有同样的问题。以下是一种可能的方法。

  1. 从master创建一个新分支。这个新分支将包含master中最新文件的副本。
  2. 合并分支到。
  3. 继续开展工作