Git:更新远程分支信息

Bai*_*kev 125 git

在git存储库中,我没有跟踪的远程分支被删除.当我输入

git branch -r
Run Code Online (Sandbox Code Playgroud)

删除的分支仍然显示(我可以检查出来)

我必须运行什么git命令才能更新此信息?

Jak*_*ski 281

如果它是已删除的远程存储库中的分支,并且您希望立即更新所有本地远程跟踪分支,则可以使用

$ git remote prune <remotename>
Run Code Online (Sandbox Code Playgroud)

删除给定远程的所有过时远程跟踪分支(即跟踪在远程存储库中删除的分支的分支).

git remote文档.

  • @JJD:因为你可能已将你的工作基于不再在这里的远程分支.因此,没有请求就消失了,因此被认为是一个坏主意.这就是为什么你需要明确地修剪远程跟踪分支的原因. (4认同)

Flo*_*Flo 183

git remote update --prune
Run Code Online (Sandbox Code Playgroud)

应刷新所有遥控器的分支,添加新分支并删除已删除的分支.

编辑:远程更新命令基本上获取远程分支列表.该--prune选项将摆脱指向远程不再存在的分支的本地远程跟踪分支.


Gar*_*yde 39

如果你执行类似的事情

git branch -d -r remote_name/branch_name
Run Code Online (Sandbox Code Playgroud)

你只删除你当地的结账.此命令对远程存储库没有任何作用,这就是它仍然显示的原因.

解:

git push origin :branch_name
Run Code Online (Sandbox Code Playgroud)

将删除远程分支(注意':'),和

git branch -d branch_name
Run Code Online (Sandbox Code Playgroud)

将删除您当地的结帐.

(参考)

  • 您还可以运行'git remote prune origin'来清理远程引用. (145认同)
  • 我认为知道这一点也很有用,虽然有点冗长,你也可以使用`git push <remote> --delete <branchname>`来删除远程分支. (4认同)
  • 这将删除远程存储库不再跟踪的所有分支.所以,要小心. (3认同)

小智 14

对于查看新的远程分支也很有用:

git fetch --all
Run Code Online (Sandbox Code Playgroud)