【问题标题】:Git- some how a single branch having two names created how do i make it singleGit-一些如何创建具有两个名称的单个分支我如何使其成为单个分支
【发布时间】:2020-08-05 14:22:53
【问题描述】:

我只是尝试使用以下命令重命名分支

git branch -m <oldname> <newname> 

我的旧分支名称是 feature/AAM-443,当我将其重命名为 feature/AAMN-443 并将其推送到远程时,该分支已经与父分支合并,然后网络中的分支正在显示

*<commit id> feature/AAM-443, feature/AAMN-443 

如果我对功能/AAMN-443 做了一些承诺,那么图表就像

 * <new-commit id> feature/AAMN-443
 |
 |
 * <old-commit id> feature/AAM-443

发生了什么我想知道具有两个名称的分支的含义是一些符号引用以及为什么功能/AAM-443 仍然存在为什么不将其删除任何人都可以帮助

【问题讨论】:

    标签: git-branch git


    【解决方案1】:

    要添加到@RomainValeri 的答案,一个分支不能有两个名称,所以你所做的是:

    你有一个远程跟踪分支:

    git branch -a
    
    feature/AAM-443
    origin/feature/AAM-443 <-- tracked by feature/AAM-443
    

    您在本地重命名了您的分支:

    git branch -m feature/AAM-443 feature/AAMN-443
    
    git branch -a
    
    feature/AAMN-443 
    origin/feature/AAM-443 <-- still thinks it's tracked by feature/AAM-443
    

    您将重命名的分支推送到原点:

    git push -u feature/AAMN-443
    git branch -a
    
    feature/AAMN-443
    origin/feature/AAMN-443 <-- tracked by feature/AAMN-443
    origin/feature/AAM-443 <-- no longer tracked by any local branch!
    

    然后你做了一个新的提交并推送:

    git commit -am "new commit" <-- on branch feature/AAMN-443
    

    您的远程仓库更新如下:

    o <-- origin/feature/AAMN-443
    |
    o <-- origin/feature/AAM-443 (branch is no longer tracked! It has been left behind!!)
    

    就像@RomainValeri 说的,你需要删除origin/feature/AAM-443:

    git push --delete origin feature/AAM-443
    

    【讨论】:

    • 精彩的解释。我在工作时间匆忙回答,但很高兴您添加了急需的评论。
    【解决方案2】:

    您只需删除仍然存在的远程对应项。

    (假设您的遥控器在此处命名为 origin)

    git push --delete origin feature/AAM-443
    
    # or
    
    git push origin :feature/AAM-443
    

    【讨论】:

    • 我只是想知道是否创建了任何符号引用或者这背后发生了什么
    • @KiwiRupela 我的回答只是一条鱼。 Symlink 的回答教你如何钓鱼。随意使用两者!
    猜你喜欢
    • 2012-09-03
    • 2012-04-06
    • 2021-07-03
    • 1970-01-01
    • 2016-11-02
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多