更新:示例存储库,https://github.com/so-gitdemo/so-gitdemorepo
在 github 存储库的上下文中。我怎样才能轻松找到 rev "b0430cee"?我知道我只能看看,但这个存储库模仿的真实示例有十几个提交者和多个其他分支。不太容易使用检查。
多次 merge 分支后,如何找到分支创建修订?
我知道这个问题:How to determine when a Git branch was created?
该解决方案似乎不适用于已多次 merge 的分支。我们通常将错误修复从发布分支 merge 回主分支。也许我们甚至在这部分做错了……对 git 还是新手。
想象一下下面的简单。真实的东西有更多来自多个人的 master/branch 提交。还有几个发布分支(想想 1.0、1.1、1.2、1.3)
Future dev ?
|
|
Merge 1.0 back * ? Potential future fixes
|\ |
| \|
| \
New work * |
| * Emergency bug fix
| |
Merge 1.0 back * |
|\ |
| \|
| * Another bug fix
| |
| |
New feature * * First bugfix on branch 1.0
| /
| /
|/
* Feature
|
|
|
* Some feature
|
|
|
* The past (master)
我们仍然是 git 的新手,正在研究管理发布和分支的最佳方法,我们已经决定我们需要向 repo 协议(protocol)追溯添加一些标签。例如 1.0 分支开始时的 1.0 标记和后来的错误修复版本的 1.0.1 标记。
后续奖励问题:添加我想要的标签的最佳方式是什么?我应该标记哪个版本?首先提交新分支?还是分支提交之前的第一个共同提交?
最佳答案
自从您添加了一个 git 存储库...我远程工作来测试东西。
How can I easily locate rev "b0430cee"?
在那种情况下,这个漂亮的 oneliner 为我完成了工作:
git rev-list --reverse --topo-order --left-right --boundary 1.0...master |
grep "^>" -B1 |
head -1 |
cut -c2-
如果您想改为获取 469c14a1fa8a40237700(新功能工作
),这对我有用:
git rev-list --reverse --topo-order --left-right --boundary 1.0...master |
grep "^>" |
head -1 |
cut -c2-
HTH
关于git - 在 git 中,如何找到创建分支的修订版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058308/