2016-08-31 59 views
0

我目前正在看着我的旧功能分支已被合并到其他人的主分支。如何找出当前提交的作者及其父提交?

当我切换到我的功能分支后,我发现git diff master...<my-branch>显示了一些我不认为是由我制作的更改。

我想在合并之前,合并的人做了一些更改并在我的特性分支上创建了一个新的提交。

那么我怎样才能找出当前提交的作者和其父代或更老的祖先提交的作者?

谢谢。

回答

1

您可以使用“git的怪”

Git Blame Documentation

运行“git的指责”,并查看您认为已经 改变了线路,或者检查是否有最新的修改日期。如果您想拼凑代码并签出以前的版本,则缩写的散列码 也可用。 '怪'与'git log --name-status'关联应该会让你想去哪里。

+1

不要忘记问题的后半部分:*“以及其父辈或更老的祖先提交者的提交者”*如果该行被当前提交更改,那么git blame将不会泄露。 –

+0

这就是'git log --name-status'的意思。'git blame'提供了当前的版本和哈希,'git log'可以让你查看版本,检出版本,并且类似于二分法。 –

2

用途:

> git blame <file> 

分析任何文件的每一行的作者,

或使用:

> git log --graph master 

分析提交图形和提交的作者当前和旧的承诺。

1

切换到你所谈论的使用git checkout <branch-name>和运行命令的分支:

git log -1 --pretty=medium --stat -p 

此打印最后一次提交的日志(-1选项,如果你想查看更多的日志删除)与作者姓名(--pretty=medium。将其更改为--pretty=full以查看更多内容)以及提交中引入的更改的统计信息(--stat选项)以及应用于更改的文件的diff命令(-p选项)。

相关问题