Discuss / Git / 切换分支无意义?

切换分支无意义?

Topic source

我第一步的时候忘记切换到master分支,做完之后才发现是在dev分支里创建了好几个标签。 于是赶紧切换到master分支,用git tag显示所有标签发现在dev分支上创建的标签,master分支里都有。 反过来试了一下,也是一样。 所以,切不切换分支也无所谓吗?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

标签是指向commit的死指针,分支是指向commit的活指针

我也没看懂这里,请大神解释下

默_kk

#4 Created at ... [Delete] [Delete and Lock User]

应该是说当你在dev创建了标签的话,后续恢复到该标签也是dev版本的内容

廖大神的回复很明显了,两者没啥关系

胡二刀1988

#6 Created at ... [Delete] [Delete and Lock User]

我觉得能看到是很正常的呀,这样才方便嘛 就像是使用 git stash list可以列出所有分支下的stash一样,就是让你看起来方便呀,tag本来就是为了提高使用便利性的,要不然要找全所有tag岂不是要翻遍所有分支

首先您要知道我们所谓的tag还有branch其实都是一个指针,当我们打下了一个tag,就相当于创建了一个const指针,它指向目标commit并且不会动。

而当我们创建了branch之后相当于创建了一个动态的branch,它可以根据我们的需要指向任意一个commit。

所以当我们使用git tag的时候,程序就只会去检索所有指向commit并且被tag过的 指针,而跟我们的branch指向哪个commit没有任何关系

我觉得切不切换都无所谓,但是关键是你要找到你某次commit的这个id,因为id是唯一的,不会因为不在这个分支里就不能创建标签了。


  • 1

Reply