【问题标题】:Can I push a branch that I created from a tag?我可以推送从标签创建的分支吗?
【发布时间】:2012-08-05 02:45:15
【问题描述】:

我来自 SVN 世界,所以我可能无法理解 GIT 中的所有细微概念差异。

我有一个 origin/master 分支。一段时间以来,我一直在标记大师。然后在生产中发生了一些事情。我们需要修复一个令人讨厌的错误。

所以,我努力将(结帐)切换到标签(我们称之为 prod-1.0)。然后我创建了一个分支。我修改了我的代码,在 origin/prod-1.0-hotfix 中提交。然后我继续将该分支推送到我的遥控器。

现在在 prod 中发现了一个新错误。我以为我可以检查分支“prod-1.0-hotfix”,但事实证明,这不是来自“prod-1.0-hotfix”的代码,而是在我将分支推送到远程时位于 origin/master 中的代码.

有人能解释一下吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    分支标签将使用标签当前所在的分支。 https://stackoverflow.com/a/5582368/1354978

    https://stackoverflow.com/a/792027/1354978 对该帖子的评论说明了一切。

    是的。 git 在这方面与颠覆不同。一个svn标签 基本上将文件复制到一个新文件夹,所以你可以 svn checkout a 特定的一堆文件,而 git 标签只是指向 具体修订。 – dbr 2009 年 4 月 27 日 2:17

    我认为你应该做的是...... 将 master 分支到 prod-1.0-hotfix

    git reset -—hard  prod-1.0 bad_tag_tag_name
    git push origin prod-1.0-hotfix 
    

    这将使用 HEAD @ prod-1.0-hotfix 创建一个远程分支

    我喜欢这个网站 gitready.com http://gitready.com/advanced/2009/02/16/convert-git-svn-tag-branches-to-real-tags.html

    Thnx 和 +1 给 Erik Petersen,以及 dbr 寻求帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多