回答

收藏

如何在本地和远程删除 Git 分支?

技术问答 技术问答 426 人阅读 | 0 人回复 | 2023-09-11

我想在本地和远程删除一个分支。+ X* K4 i: b, A  t
试图删除远程分支失败
    $ git branch -d remotes/origin/bugfixerror: branch 'remotes/origin/bugfix' not found.$ git branch -d origin/bugfixerror: branch 'origin/bugfix' not found.$ git branch -rd origin/bugfixDeleted remote branch origin/bugfix (was 2a14ef7).$ git pushEverything up-to-date$ git pullFrom github.com:gituser/gitproject* [new branch] bugfix -> origin/bugfixAlready up-to-date.( u# p) t* Q* P! _7 u1 H
我该怎么办?remotes/origin/bugfix成功删除本地和远程分支?
$ l: y! x% p7 n0 E                                                               
4 F4 N0 `5 y+ _$ S( ?9 k4 V    解决方案:                                                                1 X( p2 e' R7 \8 d0 n. c
                                                                执行摘要

    ! P6 I4 p1 F: _5 F
  • $ git push -d  / g' K: `4 E2 a0 ?) p, }
  • $ git branch -d
    3 W. x/ B! P+ t, \
注意:在大多数情况下,将是origin.
; e/ z1 |/ t0 n& `: C9 X# N) b删除本地分支要删除本地请使用以下方法之一:
4 \; E5 {, S' {! d1 q* s$ git branch -d # S2 U) q8 B4 ]5 \) f
$ git branch -D * {% E" M7 l; [7 U8 f" Q
该-d选项是 的别名--delete,该分支只有在分支完全合并到上游分支时才被删除。
1 Q. f. ^6 B: {( w9 ~该-D选项是 的别名--delete --force,它删除了无论合并状态如何的分支。[来源:man git-branch]
( C' q( t; l- b7 h4 h" C3 Z如果您试图删除当前选定的分支,您将收到错误的信息。
删除远程分支从Git v1.7.0 开始,您可以使用删除远程分支" a: E! s2 m# C; p5 H6 m
$ git push  --delete 6 G. \% z+ j: u) I. @& Z. |
这可能比
( m4 [! A8 s* n; |' [$ git push  :
! r9 V$ Y. {- Q7 M/ P* i这是在Git v1.5.添加到0中的删除远程分支或标签。( u& V2 Z, o7 e1 p& E% Y; B
与开始的Git V2.8.0,您还可以使用git push与-d选项是别名--delete。所以,你安装的 Git 版本将决定您是否需要使用更简单或更困难的语法。
1 x' U! @6 T9 \3 d" ?删除远程分支 [2010年 1 月 5 日原答案]来自Scott Chacon的Pro Git第 3 章:8 D. f/ ], R% q# l
删除远程分支假设你已经完成了一个远程分支——例如,你和你的合作伙伴已经完成了一个特征,并将其合并到你的远程分支(或你的稳定代码银行的任何分支)。您可以使用笨拙的语法删除远程分支git push [remotename] :[branch]。如果要从服务器中删除 server-fix 分支,请操作以下命令:
) q* n& S# C; ~' S$ git push origin :serverfixTo git@github.com:schacon/simplegit.git - [deleted]         serverfix繁荣。你的服务器上没有分支机构。你可能想仔细阅读这个页面,因为你需要这个命令,你可能会忘记语法。记住这个命令的一种方法是回忆它git push [remotename] [localbranch]:[remotebranch]我们以前讨论过的语法。如果你不吃,那么[localbranch]那么你基本上是在说,不要站在我这边,让它变成[remotebranch]。”# v& f8 @$ L0 W
我发布了git push origin: bugfix,它运行得很好。Scott Chacon 是对的-我想听那个页面(或者在 Stack Overflow 回答这个问题其实听听)。
/ S- j7 B; o0 b' [3 A所以你应该在其他机器上执行这个0 [* ?9 m6 a% H5 S+ c7 _6 V3 k
# Fetch changes from all remotes and locally delete # remote deleted branches/tags etc# --prune will do the job :-;git fetch --all --prune传播变化。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则