Maison > Questions et réponses > le corps du texte
La suppression de la branche distante a échoué. Comment supprimer la branche distante ?
曾经蜡笔没有小新2017-05-02 09:53:33
N'est-il pas écrit qu'il n'y a pas de "nouvelle" branche sur le serveur distant ? A-t-il été supprimé par quelqu'un d'autre ?
Supprimer le suivi local
#Deleting a local remote-tracking branch:
git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter
世界只因有你2017-05-02 09:53:33
删除远程分支和tag
在Git v1.7.0 之后,可以使用这种语法删除远程分支:
$ git push origin --delete <branchName>
删除tag这么用:
git push origin --delete tag <tagname>
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :<branchName>
这是删除tag的方法,推送一个空tag到远程tag:
git tag -d <tagname>
git push origin :refs/tags/<tagname>
两种语法作用完全相同。
删除不存在对应远程分支的本地分支
假设这样一种情况:
我创建了本地分支b1并pull到远程分支 origin/b1;
其他人在本地使用fetch或pull创建了本地的b1分支;
我删除了 origin/b1 远程分支;
其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?
使用下面的代码查看b1的状态:
$ git remote show origin
* remote origin
Fetch URL: git@github.com:xxx/xxx.git
Push URL: git@github.com:xxx/xxx.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/b1 stale (use 'git remote prune' to remove)
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。
更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:
git fetch -p
http://zengrong.net/post/1746...
巴扎黑2017-05-02 09:53:33
Lorsque vous jouez à git, je vous recommande de lire les blogs de deux personnes, l'un est le tutoriel git de Liao Xuefeng et Liao Xuefeng
Le deuxième est Ruan Yifeng, tutoriel git de Ruan Yifeng
仅有的幸福2017-05-02 09:53:33
Indique que la branche distante correspondant à cette branche est dans un statut obsolète. Pour synchroniser le dépôt local, commande : git remote update origin --prune
git pull -p
J'utilise habituellement ceci
mais la branche locale doit l'être. supprimé manuellement.