回答

收藏

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

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

我想在本地和远程删除一个分支。
& O5 l- D( N# L5 D1 n5 ?, X试图删除远程分支失败
    $ 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.
    ' D  }* l& D; l# k( s" r: x
我该怎么办?remotes/origin/bugfix成功删除本地和远程分支?
' M# r( h* I4 h( Y; D                                                               
5 l, V* d) K+ w$ F    解决方案:                                                               
. u5 e6 R' q* k5 Q* v/ _                                                                执行摘要
    $ I+ v+ k% g# O7 [: S
  • $ git push -d  % H4 Z7 h5 y. _$ R6 K
  • $ git branch -d
    ' U* E. l2 K1 p9 V( I" [
注意:在大多数情况下,将是origin.
# t+ z# J2 q3 \9 R7 K  N( R删除本地分支要删除本地请使用以下方法之一:
: _) z1 b1 [. v$ @$ I$ git branch -d
3 w6 ]/ g' r) ]  n. D$ git branch -D * Y$ j4 a  l% R" ~1 Z$ F& K
该-d选项是 的别名--delete,该分支只有在分支完全合并到上游分支时才被删除。
( U/ T# p' v/ t6 D3 M2 q该-D选项是 的别名--delete --force,它删除了无论合并状态如何的分支。[来源:man git-branch]4 x' B& D# y& z+ y: W
如果您试图删除当前选定的分支,您将收到错误的信息。
删除远程分支从Git v1.7.0 开始,您可以使用删除远程分支
* c; _0 ~  X: D2 T. r$ git push  --delete
  j5 [! r) b0 w7 i$ Y这可能比
/ ~% K3 B% f6 P7 D$ git push  :
* W+ m6 f/ L* E: t: `这是在Git v1.5.添加到0中的删除远程分支或标签。
; D3 @5 T9 Z; w. J4 T与开始的Git V2.8.0,您还可以使用git push与-d选项是别名--delete。所以,你安装的 Git 版本将决定您是否需要使用更简单或更困难的语法。  L% ]8 x/ ]& k' q; v, L
删除远程分支 [2010年 1 月 5 日原答案]来自Scott Chacon的Pro Git第 3 章:) X# f% `8 S8 J8 @. y
删除远程分支假设你已经完成了一个远程分支——例如,你和你的合作伙伴已经完成了一个特征,并将其合并到你的远程分支(或你的稳定代码银行的任何分支)。您可以使用笨拙的语法删除远程分支git push [remotename] :[branch]。如果要从服务器中删除 server-fix 分支,请操作以下命令:
. \4 [& l+ b( L& @& F$ git push origin :serverfixTo git@github.com:schacon/simplegit.git - [deleted]         serverfix繁荣。你的服务器上没有分支机构。你可能想仔细阅读这个页面,因为你需要这个命令,你可能会忘记语法。记住这个命令的一种方法是回忆它git push [remotename] [localbranch]:[remotebranch]我们以前讨论过的语法。如果你不吃,那么[localbranch]那么你基本上是在说,不要站在我这边,让它变成[remotebranch]。”4 s. o4 ]' d9 b, h' _) Z8 n( G! Q
我发布了git push origin: bugfix,它运行得很好。Scott Chacon 是对的-我想听那个页面(或者在 Stack Overflow 回答这个问题其实听听)。
9 l2 X! W; v5 O. g' y所以你应该在其他机器上执行这个9 _2 k0 p* a0 b
# Fetch changes from all remotes and locally delete # remote deleted branches/tags etc# --prune will do the job :-;git fetch --all --prune传播变化。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则