让我们使用最新的可用 git 2.16.2 和 tig 2.3.3。
cd /tmp && mkdir fit && cd fit
git init
touch m1 && git add m1 && git commit -m "master 1"
touch m2 && git add m2 && git commit -m "master 2"
git checkout -b develop
touch d1 && git add d1 && git commit -m "develop 1"
git checkout master
touch m3 && git add m3 && git commit -m "master 3"
git checkout develop
git merge master --no-edit
touch d2 && git add d2 && git commit -m "develop 2"
touch d3 && git add d3 && git commit -m "develop 3"
git checkout master
git merge develop --no-edit
touch m4 && git add m4 && git commit -m "master 4"
git reflog expire --expire=now --all && git gc --prune=now --aggressive
检索分支中的最后一次提交非常容易:develop
git --no-pager show -s --format=%B $(git rev-parse develop)
开发 3
但我无法检索分支中的第一个提交。develop
所以我找不到分支分支的提交。
git merge-base --fork-point develop
git rev-list develop..master
git rev-list develop master
git rev-list master develop
git rev-list ^develop master
结果是没有用的。
我找到了一个问题的解决方案如何在合并的分支分支的地方获得提交
git oldest-ancestor master develop
git oldest-ancestor develop master
结果也没有用。
但是tig
并且git log --graph
仍然能够看到这develop 1
是该分支的第一次提交,并且develop
该分支是从.master 2
master
master 2
是否可以使用当前的 git 控制台工具进行检索?