什么时候将文件引入到给定的Git分支?

什么时候将文件引入到给定的Git分支?,git,github,merge,git-log,Git,Github,Merge,Git Log,我们使用Git和Github。我们有两个主要分支,staging和production。当一个新的项目/功能分配给开发人员时,他们会创建一个新的分支,从production将其称为featurebranch,进行更改、提交、推送到GitHub,并使用GitHub将功能分支与staging合并。当功能准备上线时,开发人员然后使用GitHub将功能分支与产品合并。所有合并都会添加一个mergecommit 发生的事情是,一位开发人员说他们的功能分支内容在生产上,他们从未执行从功能分支到生产的合并。可

我们使用Git和Github。我们有两个主要分支,
staging
production
。当一个新的项目/功能分配给开发人员时,他们会创建一个新的分支,从
production
将其称为
featurebranch
,进行更改、提交、推送到GitHub,并使用GitHub将
功能分支
staging
合并。当功能准备上线时,开发人员然后使用GitHub将
功能分支
产品
合并。所有合并都会添加一个
merge
commit

发生的事情是,一位开发人员说他们的
功能分支
内容在
生产
上,他们从未执行从
功能分支
生产
的合并。可能有人意外地将
暂存
生产
合并

一些开发人员会犯错误,我正试图找出错误发生的根源,并可能正确地将其逆转。我希望有人能帮我

我尝试使用GitHub、gitbash和Git扩展的组合来找出特定文件在什么时候进入了分支。使用Git扩展名
文件历史记录
功能,它只在提交更改时显示,不一定在合并到分支时显示

我怎样才能做到这一点?我搜索并使用了许多策略来查找文件日志,比如
git log--pretty=online--
在中找到

任何额外的帮助都将不胜感激。如果您需要更多信息,请告诉我,我很乐意提供

更新#1 我忘了提到这一点,这在这个场景中可能很重要。在
feature branch
上,一些更改(
change-1
change-2
)被提交并合并到
staging
production
。然后,开发人员对其
功能分支
进行了进一步的更改(
changes-3
),仅合并到
暂存
。虽然
production
应该有
change-1
change-2
而不是
change-3
,但我如何知道
changes-3
在什么时候进入
production

我要做的[…]是找出特定文件在什么时候进入分支

问题陈述的一个问题是,文件可以重命名,如果您只是运行类似于

git log --pretty=online <branch> -- <file>
顶部的日志条目将对应于出现
的最早的提交(按时间顺序)。如果要获取出现
的最早的(拓扑意义上的)提交,则需要将
--topo order
标志添加到上面的命令中。

git bull

将逐行向您提供文件的详细信息,其中包含提交id、提交人名称和日期时间。

感谢您就
--follow
参数向我提供的帮助。但是,最后一次提交似乎不是将文件引入分支的提交。关于文件重命名情况的好消息。上述命令给出的提交是重命名文件的提交。我刚刚意识到我遗漏了一条信息,并将其添加为上面的
update#1
。这可能会有所不同。谢谢。但是,这仅显示提交每一行的时间。我想知道commit bdc45b是什么时候合并到
生产部门的。有帮助吗?@Zeeker,谢谢。我会调查的。
git log --reverse --follow <branch> -- <file-in-question>