代码之家  ›  专栏  ›  技术社区  ›  Harshana

上游Git标签不在分叉存储库中显示

  •  5
  • Harshana  · 技术社区  · 6 年前

    我在上游有一个1.11.57的标签,是我用主分支代码推出来的。我在用Bitbucket和Git Bash

    enter image description here

    我在存储库上分叉,并在本地使用叉存储库作为我的本地主分支。但在我分叉的存储库中,1.1157标签没有显示。

    enter image description here

    我检查存储库同步也没有问题。这是什么原因,以及如何将上游标记发送到我的fork,然后发送到本地。

    3 回复  |  直到 6 年前
        1
  •  4
  •   Dmitrii Ustiugov VonC    5 年前

    确保你有 push all tags 从你的第一个克隆回购。
    使用sourcetree:选中“push”对话框中的“push all tags”框。

    只有这样,forking才能反映新的标记。

    既然你已经分叉了,把原来的回购作为一个远程添加,并获取标签:

    cd /path/to/fork/clone
    git remote add upstream url/original/repo
    git fetch --tags upstream
    Push the tag from my local to my master branch
    git push -f --tags origin master
    

    (你也可以 add the new remote with SourceTree )
    (而你 have the "Fetch and store all tags locally" option with SourceTree )

        2
  •  0
  •   Marina Liu    6 年前

    为什么上游Git标签不显示在分叉回购中

    对于forked repo中丢失的标签,其主要原因是fork操作先做了,然后丢失了标签(如 v1.11.57 就你的情况而言)在分叉后被推到上游回购。

    Git标签从上游回购到分叉回购的同步方法

    您可以使用下面的命令同步从上游到分叉回购的缺失标签:

    # In local forked repo
    git remote add updtream <URL for upstream repo> -f
    git push origin --tags
    

    然后你会发现丢失的标签显示在分叉回购。

        3
  •  0
  •   Harshana    6 年前

    我是按照下面的命令做的。

    在我的地方,

    git remote add upstream https://upstreamurl.git
    git fetch upstream
    Now tags are in my local, I push it to my master branch
    git push -f origin master