我相信,如果您运行Bash中的git branch--all
,您看到的远程和本地分支列表将反映您运行命令时本地git“知道”的内容。因为您的Git始终是系统中本地分支的最新版本,所以本地分支的列表总是准确的。
然而,对于远程分支,情况并非如此。您的本地Git只知道它在上次抓取(或拉取)中看到的远程分支。因此,您可能会运行git分支--all
,但没有看到在上次获取或拉动后出现的新远程分支。
为了确保本地和远程分支列表是最新的,您可以在运行git branch--all
之前执行git fetch
。
要了解更多信息,运行git分支--all
时出现的远程分支根本不是真正的远程分支;它们实际上是本地的。例如,假设远程上有一个名为特性
的分支,您至少将其拉入本地Git一次。当您运行git分支--all
时,您将看到起源/特性
被列为分支。但是这个分支实际上是一个本地Git分支。当您执行git提取源
时,此跟踪分支将使用来自远程的任何新更改进行更新。这就是为什么您的本地状态可能会过时,因为可能会有新的远程分支,或者您的跟踪分支可能会过时。
OP没有要求清除所有远程,而是要求清除默认远程的所有分支。
所以应该使用git-fetch--prune
。
设置git-config-remote。起源prune true
使--prune
自动。在这种情况下,justgit fetch
还将从本地副本中删除过时的远程分支。另请参见Git fetch或pull的自动修剪。
请注意,这不会清除不再跟踪远程分支的本地分支。请参阅如何删除远程不再存在的本地跟踪分支。
要更新远程分支的本地列表,请执行以下操作:
git remote update origin --prune
显示(本地)Git知道的所有本地和远程分支
git branch -a
远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show (remote) 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支。 远程跟踪分支是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移动。 远程跟踪分支像
本文向大家介绍Git 创建分支提交远程分支详解,包括了Git 创建分支提交远程分支详解的使用技巧和注意事项,需要的朋友参考一下 Git 创建分支提交远程分支详解 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义。 2.切换本地分支 git checkout 分支名,例如从master切
远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show (remote) 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支 {#2}。 远程跟踪分支 {#2}是远程分支状态的引用。 它们是你不能移动的本地引用,当你做任何网络通信操作时,它们会自动移
我正在尝试更新我的分支的本地列表。我只能看到3个,而遥控器是11个。我用prune命令尝试了这个解决方案,尽管我的配置文件在我按下git branch-a时被更新了,但我得到了与以前相同的结果(带有红色字母的远程分支,首先是remotes/origin/HEAD)-
我正在使用JGit创建一个新的git存储库,文件夹中已经存在的所有内容都另存为new branch。 我正在用 (默认情况下,master分支是在上面的语句之后创建的,所以我将其重命名为Backup分支)。 问题是当我推后支时,它被推了,但我无法建立远程跟踪。 从终端:如果我使用结果是 根据链接,让现有的Git分支跟踪远程分支?我可以使用终端中的来指定推送backupbranch后的任何时间。 如
刚接触Git不久,误操作把Git 的本地分支文件夹给Shift delete了,本地分支还没有commit和push到Server远程分支上去,现在没有本地分支,如何删除Server上的远程分支呢? 似乎没有Push过本地分支,无法直接删除远程分支