Git 警告消息:已删除分支皮肤(was…)

Git 警告消息:已删除分支皮肤(was…),git,Git,从git分支的手册页: 删除分支。分支必须完全合并到其上游分支中,或者如果没有上游设置为-track或-set-upstream,则必须完全合并到HEAD中 皮肤分支实际上是局部移除的,但我试图理解警告信息的含义。注意,皮肤分支在原点和上游仍然可用,正如预期的那样。警告的意思是:您要求git删除的分支名称不是HEAD的祖先。无论您在哪个分支上,例如,master,skin将一个不属于该分支的提交命名为commit。但是,名称skin是一个跟踪分支名称,它命名了一个commit,该commit是源

从git分支的手册页:

删除分支。分支必须完全合并到其上游分支中,或者如果没有上游设置为-track或-set-upstream,则必须完全合并到HEAD中


皮肤分支实际上是局部移除的,但我试图理解警告信息的含义。注意,皮肤分支在原点和上游仍然可用,正如预期的那样。

警告的意思是:您要求git删除的分支名称不是HEAD的祖先。无论您在哪个分支上,例如,master,skin将一个不属于该分支的提交命名为commit。但是,名称skin是一个跟踪分支名称,它命名了一个commit,该commit是源跟踪分支的一部分,因此git删除了分支标签

用于指向提交1f97b5b的分支标签。很可能origin/skin也指向或指向1f97b5b,即提交树看起来像这样:

A --- B --- C       <-- HEAD, master, origin/master
        \
          D --- E   <-- skin, origin/skin

其中,提交E的SHA-1为1f97b5b。但皮肤可能是源代码/皮肤之后的提交,因此1f97b5b是提交D、B、甚至a的ID。重要的是,从源代码/皮肤开始,可以沿着提交树反向工作,找到提交1f97b5b,因此git认为删除指向commit 1f97b5b的标签是安全的。

可能您还没有将其合并到本地的当前分支中?我刚刚从原点签出了皮肤分支以供预览。我不是有意在本地做的。在那之后,我想让我们删除它,而不是坐在那里无所事事;因此,我遇到了这个警告。所以它没有合并,这很好。这只是一个警告,如果不适用,您可以安全地忽略它。删除的分支皮肤是1f97b5b-括号内的SHA-1指的是什么?旧的提交?是指提交皮肤。你可以看到git show 1f97b5b是什么,假设git gc没有运行。我假设跟踪分支是指具有远程分支的分支,即不是纯本地分支?对,如果git config branch.L.remote设置为类似origin的远程名称,并且git config branch.L.merge具有ref名称,则本地分支L正在跟踪远程分支R名称不需要匹配。我也不知道L和R不需要同名。并且,感谢+1的链接。
A --- B --- C       <-- HEAD, master, origin/master
        \
          D --- E   <-- skin, origin/skin