你的分支由X提交领先于'origin / master'。如何找到X提交?

时间:2013-01-04 09:35:39

标签: git git-commit git-log

我正在使用以下命令检查X提交:

git log --author=<my-name> -<X>

但问题是我不小心从另一个存储库中提取代码并将存储库中的提交添加到我的本地git存储库。

所以我不能使用上面的命令,因为新提交包含一些其他作者。

5 个答案:

答案 0 :(得分:34)

命令

git log origin/master..master

显示master上的提交,但不显示origin/master上的提交。

答案 1 :(得分:2)

我为此命令创建了一个别名,列出了尚未推送的提交。

  
    

git log --branches --not --remotes --decorate --oneline

  

这是Viewing Unpushed Git Commits中发布的命令cxreg的变体。

还有很多其他有用的方法来解析该帖子中的提交树。

答案 2 :(得分:1)

treeish..treeish表示法正好用于查看第二个引用中存在的提交,但不能查看第一个引用中的提交。从git log帮助:

  

常规D..M计算作为M的祖先的提交集,但不包括作为D的祖先的提交。这有助于查看自D以来导致M的历史发生了什么,从某种意义上说“M在D中不存在什么。”

将此项与git loggit show一起使用,您可以输出一个列表,其中包含D..M差异中每个提交的单行:

git show -s --oneline branch..HEAD

git log --oneline branch..HEAD

将其与字数配对,您可以准确输出您要查找的提交数量:

git log --oneline branch..HEAD | wc -l

答案 3 :(得分:0)

这个问题已在另一篇文章中得到解答:

git log origin/master..HEAD

(见Viewing Unpushed Git Commits

答案 4 :(得分:-1)

我用这个:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

它将提交显示为图形,包含所有分支及其名称。

我的建议是在〜/ .gitconfig

中为它创建别名