gpt4 book ai didi

git merge --no-ff 后的 git log 显示 merge 的其他分支的所有提交

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

我阅读了有关 git merge --no-ff 的文档。

我试过了,结果是:

Mini-de-MiniMac:ZtestGit minimac$  git branch
feature
* master

Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline
82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
50d9f108d70798a13cc25fb7321d57ad5ba61854 three
d7163bc5320162689544293be1ac2228c6e3dc34 two
a7ba4c797d49d940a7d64a8ddaba787eb013622a one
cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start

Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline --graph
* 82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
|\
| * 50d9f108d70798a13cc25fb7321d57ad5ba61854 three
| * d7163bc5320162689544293be1ac2228c6e3dc34 two
| * a7ba4c797d49d940a7d64a8ddaba787eb013622a one
|/
* cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start

我对此感到惊讶,我不明白:master 分支上的 git log 显示所有提交(一、二、三),但这些提交在功能分支上,而不是在 master 上。

我知道 master 分支上的最后一次提交是 feature 分支上一系列先前提交的后代。我希望在 master 分支上有一个 rebase,并且只看到 master 上的第一个和最后一个提交。你能向我解释一下为什么不同吗?

那么做 git merge --no-ff 的兴趣在于与 git log --graph 一起工作,而不仅仅是 git log?

我添加了一个更奇怪的现象:当我删除功能分支时,git 说该分支已删除但 git log 和 git log --graph 给出与以前完全相同的结果:提交和功能分支仍然出现。
你有解释吗?

Mini-de-MiniMac:ZtestGit minimac$  git branch
feature
* master

Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline
82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
50d9f108d70798a13cc25fb7321d57ad5ba61854 three
d7163bc5320162689544293be1ac2228c6e3dc34 two
a7ba4c797d49d940a7d64a8ddaba787eb013622a one
cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start
Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline --graph
* 82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
|\
| * 50d9f108d70798a13cc25fb7321d57ad5ba61854 three
| * d7163bc5320162689544293be1ac2228c6e3dc34 two
| * a7ba4c797d49d940a7d64a8ddaba787eb013622a one
|/
* cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start
Mini-de-MiniMac:ZtestGit minimac$ git branch
feature
* master


Mini-de-MiniMac:ZtestGit minimac$ git branch -d feature
Deleted branch feature (was 50d9f10).

Mini-de-MiniMac:ZtestGit minimac$ git branch
* master

Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline
82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
50d9f108d70798a13cc25fb7321d57ad5ba61854 three
d7163bc5320162689544293be1ac2228c6e3dc34 two
a7ba4c797d49d940a7d64a8ddaba787eb013622a one
cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start

Mini-de-MiniMac:ZtestGit minimac$ git log --pretty=oneline --graph
* 82307080064b764c28622351a4c28abb4f9302b8 Merge branch 'feature' with --no-ff option
|\
| * 50d9f108d70798a13cc25fb7321d57ad5ba61854 three
| * d7163bc5320162689544293be1ac2228c6e3dc34 two
| * a7ba4c797d49d940a7d64a8ddaba787eb013622a one
|/
* cc3e4abf5dfad7779de3837a6c4e6e29e3ca87b2 start

谢谢。

最佳答案

可以用

git log --first-parent

查看仅对您当前所在的分支所做的提交。(我知道提交不在任何分支“上”,如前一个答案所说)

关于git merge --no-ff 后的 git log 显示 merge 的其他分支的所有提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246589/

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