【发布时间】:2015-03-11 18:34:03
【问题描述】:
我们使用 Git 和 Github。我们有两个主要分支,staging 和 production。当一个新项目/功能分配给开发人员时,他们会创建一个新分支,将其从 production 称为 feature-branch,进行更改、提交、推送到 GitHub,然后使用 GitHub 将 feature-branch 与 staging 合并。当该功能准备好上线时,开发人员随后使用 GitHub 将 feature-branch 与 production 合并。所有合并都添加一个merge 提交。
发生的情况是,开发人员说他们的 feature-branch 内容在 production 上,并且他们从未执行从 feature-branch 到 production 的合并。可能有人不小心将staging 与production 合并了。
一些开发人员犯了错误,我试图找出它发生的根源,并可能正确地扭转它。我希望有人可以帮助我。
我正在尝试使用 GitHub、Git Bash 和 Git 扩展的组合来找出特定文件在什么时候进入分支。使用 Git Extensions file history 功能,它只显示提交更改的时间,而不一定显示合并到分支中的时间。
我怎样才能做到这一点?我已经搜索并使用了许多策略来查找文件日志,例如在When was a file added to a branch in Git? 找到的git log --pretty=online <branch> -- <file>。
任何额外的帮助将不胜感激。如果您需要更多信息,请告诉我,我很乐意提供。
更新 #1
我忘了提到这一点,这在这种情况下可能很重要。在feature-branch 上,一些更改(change-1 和change-2)被提交并合并到staging 和production。然后开发人员对他的feature-branch 进行了进一步的更改(changes-3),并且只合并到了staging。虽然production 应该有change-1 和change-2 而不是change-3,但我如何才能知道changes-3 是在什么时候进入production 的?
【问题讨论】:
-
this 有帮助吗?
-
@Zeeker,谢谢。我会调查的。