gpt4 book ai didi

仅在当前树中的所有分支的 Git 日志

转载 作者:太空狗 更新时间:2023-10-29 14:38:38 26 4
gpt4 key购买 nike

我想获取当前树中所有分支的日志。

说来话长

鉴于以下 git 历史:

$ git log --all --decorate --oneline --graph
* 3d0cb35 (HEAD, master) 4th commit
| * a43b07c (branch) 4th commit in branch
|/
* 722745a 3rd commit
* 46d0d84 2nd commit
* 3060fe0 1st commit

假设我创建了一个孤立分支。

$ git checkout --orphan orphan
Switched to a new branch 'orphan'

在孤立分支中添加一个提交并尝试使用第一个命令来获取“第二个”树的 git 历史。

$ git log --all --decorate --oneline --graph
* 202f3c4 (HEAD, orphan) Orphan branch
* 3d0cb35 (master) 4th commit
| * a43b07c (branch) 4th commit in branch
|/
* 722745a 3rd commit
* 46d0d84 2nd commit
* 3060fe0 1st commit

在上面的示例中,看起来 3d0cb35202f3c4 的父亲,但事实并非如此。我怎样才能只获得其中一棵树的提交?

最佳答案

我不确定是否有一种完全干净的方式来做你想做的事。但这里有一个建议......如果你知道你想要检查的一组分支是根植于提交 3060fe0 的分支。 , 那么你可以使用 git branch --contains 3060fe0识别潜在的分支,并用它来满足你的 git log命令。像这样的东西:

git log ..... `git branch --contains 3060fe0`

但是省略了 --all选项,因为这会覆盖您的显式分支选择...

为方便起见,您可以在每个树根上放置一个标签,例如 git tag tree1 3060fe0 , 那么你可以只使用 git branch --contains tree1 .

关于仅在当前树中的所有分支的 Git 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541261/

26 4 0
文章推荐: Git:如何将相同的修改应用于另一个分支?
文章推荐: java - 跟踪对网页内容的更改
文章推荐: git - 推送到 webroot 之上的托管项目
文章推荐: html - jQuery 可以判断当前是否显示了