两个具有相同名称的git分支(重命名一个?)



我意外地创建了一个与远程存储库上的名称相同的本地分支名称。当我调出最近的远程更新时;警告:refname"名称";不明确"而且我似乎无法访问远程的更新分支。

如何使它们都显示其参考号?

如何仅重命名本地的?

(git branch -move old new) did not work!
(git tag -d name) worked! 

感谢大家。

使用git branch -m重命名分支:

git branch -m oldname newname

编辑:根据问题编辑,似乎您有一个名为X的分支(对于某些X(和一个也名为X(对于某些X(的标记。在这种特殊情况下,有些操作将名称解析为分支名称,有些操作则解析为标记名。

删除其中一个名字当然有效。但你也可以消除这些名字的歧义。分支或标签名称有点像某人的名字。如果你有两个叫Bruce的人,你可以把他们称为Bruce Arthur Robertson和Bruce Leonard Sadler,现在每个人都知道你指的是哪个Bruce了——同样,你可以用refs/head/X指的是分支X,用refs/tags/X指的是标记X.你也可以省略refs/部分,使用heads/Xtags/X

由于标记名通常是预期的全局(在所有克隆中共享,每个人的v1.2都会引用完全相同的提交(,而分支名通常是预期本地(您的debug2提交可能与Fred的debug2提交不同(,因此通常明智的做法是仔细命名标记,然后永远不要更改或删除它们;分支名称更为短暂,更易于更改和删除。但这些并不是硬性规定,所以要做任何适合你情况的事情。

需要两个命令才能重命名分支。

  • git checkout -b <newname> <oldname>使用此功能,您可以创建一个新分支,该分支是旧分支的副本。

  • git branch -D <oldname>该命令可用于删除旧分支。

最新更新