比方说,我创建了一个新的分支my_experiment从 master并提出了一些对提交my_experiment.如果我在启动git log时执行my_experiment,我会看到对此分支的提交,但也会在创建分支master之前进行提交my_experiments.
我会发现查看所有提交到my_experiments分支的历史记录非常有用,直到它触及该分支的创建 - 实际上是该分支的真实历史.否则,在通过日志查看提交是否在my_experiments分支上时,我不清楚.
有没有办法用Git做到这一点?
ale*_*lex 117
您可以使用范围来执行此操作.
git log master..
Run Code Online (Sandbox Code Playgroud)
如果你已经检查了你的my_experiment分支机构.这将比较,其中master是在以HEAD(的尖端my_experiment).
Von*_*onC 10
注意:如果您将该日志限制为最后 n 次提交(例如,最后 3 次提交,git log -3),请确保在“n”和您的分支之间放置一个空格:
git log -3 master..
Run Code Online (Sandbox Code Playgroud)
在 Git 2.1(2014 年 8 月)之前,这个错误:git log -3master..实际上会向您显示当前分支的最后 3 个提交(此处my_experiment),忽略master限制(意味着如果my_experiment只包含一个提交,则仍会列出 3 个,其中 2 个来自master)
见提交e3fa568通过 JUNIOÇ滨野(gitster):
git log -<count>更仔细地解析“ ”这个输入错误的命令行简单地忽略了 "
master" 并最终显示了当前的两次提交HEAD:
$ git log -2master
Run Code Online (Sandbox Code Playgroud)
因为我们
2master在atoi()没有确保整个字符串被解析为整数的情况下提供“ ” 。请改用
strtol_i()辅助函数。
该git merge-base命令可用于查找共同的祖先.因此,如果my_experiment尚未合并到master中并且my_experiment是从master创建的,那么您可以:
git log --oneline `git merge-base my_experiment master`..my_experiment
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120946 次 |
| 最近记录: |