gpt4 book ai didi

Git log 仅获取特定分支的提交

转载 作者:IT王子 更新时间:2023-10-29 01:16:30 26 4
gpt4 key购买 nike

我想列出仅属于特定分支的所有提交。

通过以下内容,它列出了来自分支的所有提交,也列出了来自父级(master)的所有提交

git log mybranch

我发现的另一个选择是排除 master 可以访问的提交并给我我想要的,但我想避免知道其他分支名称的需要。

git log mybranch --not master

我尝试使用 git for-each-ref,但它也列出了 mybranch,所以实际上它排除了所有:

git log mybranch --not $(git for-each-ref --format '^%(refname:short)' refs/heads/)

更新:

我正在测试我不久前发现的一个新选项,直到现在看来这可能就是我要找的东西:

git log --walk-reflogs mybranch

更新(2013-02-13T15:08):

--walk-reflogs 选项很好,但我检查过 reflogs 是否有过期时间(默认 90 天,gc.reflogExpire)。

我想我找到了我要找的答案:

git log mybranch --not $(git for-each-ref --format='%(refname)' refs/heads/ | grep -v "refs/heads/mybranch")

我只是从可用分支列表中删除当前分支,并使用该列表从日志中排除。这样我就只会得到仅由 mybranch 达到的提交。

最佳答案

听起来你应该使用 cherry:

git cherry -v develop mybranch

这将显示所有包含在 mybranch 中的提交,但不在 develop 中。如果您不选择最后一个选项 (mybranch),它将改为比较当前分支。

正如 VonC 所指出的,您总是在将您的分支与另一个分支进行比较,因此了解您的分支然后选择要比较的分支。

关于Git log 仅获取特定分支的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14848274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com