Git 是否有“不平凡”的问题;“已更新”;合并?

Git 是否有“不平凡”的问题;“已更新”;合并?,git,git-merge,Git,Git Merge,假设您git merge alt,使“alt”分支合并到“master”分支中 假设您随后立即git merge alt。您将收到控制台消息“已更新” 问题:还有其他不那么琐碎的场景可以让您遇到这种退化合并吗?是的,如果您在第二秒内合并的分支之前合并了一个分支。例如: git checkout master-在主分支上 git签出-b testA-创建并交换到分支A 触摸a.txt&&git添加a.txt&&git提交-m“测试a”-创建a.txt并提交 git签出-b testB-创建并交换到

假设您
git merge alt
,使“alt”分支合并到“master”分支中

假设您随后立即
git merge alt
。您将收到控制台消息“已更新”


问题:还有其他不那么琐碎的场景可以让您遇到这种退化合并吗?

是的,如果您在第二秒内合并的分支之前合并了一个分支。例如:

git checkout master
-在主分支上
git签出-b testA
-创建并交换到分支A
触摸a.txt&&git添加a.txt&&git提交-m“测试a”
-创建
a.txt
并提交

git签出-b testB
-创建并交换到分支b(从分支A开始)
触摸b.txt&&git添加b.txt&&git提交-m“Test b”
-创建
b.txt
并提交

历史现在是这样的:

{master}-{testA}-{testB}

git签出主机

git merge testB
——通过这样做,我们还从TestA引入了提交

历史现在是这样的:

{testA}-{testB,master}


运行
git merge testA
将给出“已经是最新的”结果,因为master已经包含分支
testA

上的所有提交,如果您在第二秒内合并的分支之前合并分支,则执行
git merge testA

是。例如:

git checkout master
-在主分支上
git签出-b testA
-创建并交换到分支A
触摸a.txt&&git添加a.txt&&git提交-m“测试a”
-创建
a.txt
并提交

git签出-b testB
-创建并交换到分支b(从分支A开始)
触摸b.txt&&git添加b.txt&&git提交-m“Test b”
-创建
b.txt
并提交

历史现在是这样的:

{master}-{testA}-{testB}

git签出主机

git merge testB
——通过这样做,我们还从TestA引入了提交

历史现在是这样的:

{testA}-{testB,master}

运行
git merge testA
将给出结果“已经是最新的”,因为在运行
git merge
git rebase
时,master已经包含分支
testA

上的所有提交“已经是最新的”,这意味着您要合并或重新设置的分支已经可以从当前头访问。在您描述的情况下,它是当前头提交的父级之一,但它也可以在历史记录中更高的位置。在运行
git merge
git rebase
时,“已经是最新的”,这意味着您要合并或重设基础的分支已经可以从当前头访问。在你描述的情况下,它是当前负责人的父母之一,但它也可以在历史上进一步发展。