如何检查合并到 master 后从哪个分支提交的提交以及从合并的位置删除的提交?

How can I check which commits from which branch after merging to master and from where merged that was deleted?

Q1) 如果将来我想检查提交更改来自哪个分支(删除的那个分支不存在),我该如何检查?

Q3) 我还有一个问题,问题是当我合并分支以掌握合并的内容时,也在那里提交但是来自合并分支的提交现在显示为一些合并分支,为什么?

我已经使用

检查了显示的提交

$ git log --all --graph --oneline --decorate

我附上屏幕截图。

如果没有必要,

Git 不会进行合并。如果合并两个分支,但只有一个发生变化,Git 将“快进”。它不会合并,只会移动分支标签。

例如,假设您在一个分支上工作但没有在 master 上工作。

A - B [master]
     \
      C - D [feature]

现在你 git checkout mastergit merge feature。没有要合并的东西,所以 Git 将“快进”母版到功能。

# git checkout master
# git merge feature

A - B - C - D [master]
              [feature]

提交不是分支的一部分。一旦你 git branch -d feature 没有证据表明 C 和 D 写在不同的分支上。

为避免这种情况,请使用 git merge --no-ff(无快进)。这将强制 Git 进行合并提交,即使它不需要。

# git checkout master
# git merge --no-ff feature

A - B ------ M[master]
     \     /
      C - D [feature]