【问题标题】:Remove a tracking from a git branch从 git 分支中删除跟踪
【发布时间】:2011-09-23 22:54:50
【问题描述】:

我有一个“功能/管理”分支,它正在跟踪 多个 分支(起源/功能/管理和开发,后者是本地的) - 我想删除 本地 em> tracking(所以我的本地分支只跟踪远程分支的origin/feature/admin)。

我试过用 git branch -dr development 删除它,但是...

错误:找不到远程分支“开发”。

有什么建议吗?

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    我找到了这个小难题的答案。

    在 repo 的 Git Config 文件中,我删除了这两行(使用 Gity):

    键:

    branch.feature/admin.remote
    branch.feature/admin.merge
    

    价值观:

    .
    refs/heads/development
    

    (分别)

    这删除了本地跟踪。我猜是“。”表示本地。

    【讨论】:

      【解决方案2】:

      名称“开发”不是远程分支,因为它不包含远程的名称。看看git branch -a的输出:

      * develop
        master
        remotes/origin/HEAD -> origin/master
        remotes/origin/develop
        remotes/origin/master
      

      远程分支都以remotes/ 前缀开头。所以要删除远程“开发”分支,我会运行:

      git branch -dr origin/develop
      

      虽然这样做了,但下次我做git pull时分支会回来。

      【讨论】:

      • 我认为你的意思是'远程跟踪分支“开发”'而不是'分支远程“开发”分支'
      • @larsks 如帖子中所述,我想删除 local 分支的跟踪,而不是远程分支(因为我尝试了 git branch -dr localbranch 没有成功) - 关于如何做确切的事情的任何建议,但与当地分支机构?
      • 我相信我已经准确地描述了你想要什么。它保留了您的本地分支,但删除了与远程分支的跟踪关联。例如,运行git show显示跟踪信息,然后运行git branch -dr origin/develop,然后再次运行git show,可以看到跟踪关联不再存在。这只是在您的本地存储库中进行更改,对远程存储库没有影响。
      • @larsks 问题是我不想删除远程跟踪,而是 本地 跟踪。这就是为什么在示例中我放了git branch -dr development - 如果我想删除远程跟踪,那会奏效,你的建议也会奏效。
      猜你喜欢
      • 2014-06-09
      • 2014-08-09
      • 1970-01-01
      • 2015-10-03
      • 2011-12-05
      • 2012-03-03
      • 2019-05-13
      • 1970-01-01
      相关资源
      最近更新 更多