我列出了一直使用命令
更改特定文件的提交$ git log --all --graph --abbrev-commit --format=fuller --follow <path_to_filename>
它显示包含提供的文件名的格式良好的提交。但是我很难找到提交。我用了
$ git branch --contains 10264d5
查找包含特定提交的分支名称。
有没有办法在git log
命令中包含分支名称?我尝试使用this answer中推荐的命令,但它不能与--filename参数一起使用。
答案 0 :(得分:1)
我不相信这是可能的。您可以添加--decorate
选项,但如果其中一个已记录的提交恰好位于refs/heads
中,则只会列出分支名称。
我相信你必须编写自己的自定义包装器来实现这一目标。
这令人沮丧,而且很烦人。一些git人会通过描述git架构来回应并展示它是如何不容易实现的,并且在一些更复杂的情况下,它没什么意义。我不是在争论任何一个,但它是许多人会觉得有用的东西,会提高他们的生产力。
答案 1 :(得分:1)
找到与你相同的问题,我为它写了一个小的bash包装。
它不支持许多日志选项(graph
和all
是最值得注意的断路器),但大多数format
选项都应该开箱即用。< / p>
log_branch(){
commit_list=$(git log --pretty="%H")
for commit_hash in $commit_list;do
show=$(git log -n 1 $commit_hash $@)
branches=$(git branch --column --contain $commit_hash | sed -e 's/* /*/' -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
output=$(echo "$show" | sed "s@$commit_hash@$commit_hash {$branches}@")
echo "$output"
done
}
上传到GitHub