git 的tag和branch 如果重名了 怎么处理

比如有个tag叫 v1 又有个branch也叫v1 但这俩又指向不同的 commit 那我checkout的时候怎么区分 tag和branch呢

阅读 20.2k
3 个回答

首先一定不要重名的tag和branch,这样会让整个项目团队的人都陷入“安能辨我是雄雌”的困境。

“统一的命名规范很重要! 统一的命名规范很重要! 统一的命名规范很重要!”

实在不知道怎么命名更合适可以参考 Git FLOW

另外,如果已经出现重名的情况可以通过两种方式来进行重建有意义名称的分支来解决问题

git checkout -b new_branch old_branch 
git checkout -b new_branch <sha1>

如果你创建的 tag 名和分支名一样,容易造成混淆,就必须使用索引名全称来区分它们。比如 `refs/tags/v1`、`refs/heads/v1`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏