通过使用PyCharm中的VCS选项为PyCharm项目创建了GitHub存储库。之后,创建了另一个名为Pytest-bdd的分支。现在,存储库本身已从Github手动删除。但是,当从PyCharm终端运行命令git branch -a
时,它将显示以下选项
* master
remotes/github/Pytest-bdd
remotes/github/master
为什么它在Github中不再存在时,为什么显示远程存储库。
这些是“远程跟踪分支” https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches。他们会记住“自您上次与之通信以来的远程状态”,这意味着他们不会通过您通过其他方式(例如,远程访问)对远程设备所做的操作来实时更新。通过删除GitHub上的仓库。
如果要从本地存储库中清除这些内容,请执行以下两项操作:
如果整个存储库已删除,则应删除远程:
git remote remove github
这还将删除该遥控器附带的所有远程跟踪名称。
使用Git时,您经常使用两个甚至超过两个的Git存储库。每个存储库都位于某台计算机上的某个位置。某些计算机上存在的文件或其他资源通常可以使用统一资源定位器或URL来命名。
例如,如果您在GitHub上有一个名为https://github.com/user/repo.git
的Git存储库,则此存储库为URL
git fetch origin
比更长的一个:一些现有存储库时,Git添加远程名称git fetch https://github.com/user/repo.git
此短名称
origin
是远程。在Git中,一个遥控器存储一个URL。它可以做更多的事情,但是存储URL是其最基本的工作。当您第一次clone
origin
来保存您在git clone
命令中使用的URL。因此,在您自己的计算机上,您自己的Git具有origin
是很常见的。您可以添加更多的遥控器。首先,您需要拿出要使用的name
,例如hubert-blaine-wolfeschlegelsteinhausenbergerdorff-sr
或hubert-blaine-wolfeschlegelsteinhausenbergerdorff-sr
或fred
或github
。较短的名称可能会更好,但是您应该使用对您有帮助的名称。接下来,您需要一个URL,一些Git存储库在调用该URL时会回答该Internet电话。然后,您可以使用upstream
来添加
git remote add
例如。[使用分支名称。在git remote add upstream https://github.com/user2/repo2.git
时,您的Git调用了其他Git。如果使用remote
来命名另一个Git,则Git会将URL从Git配置文件中删除,并使用该URL来调用另一个Git。另一个Git将为您的Git列出its
git fetch
会话结束时,您的Git将在您的存储库中创建一系列相似的名称。为了避免踩到您的branch名称,您的Git使用remote-tracking名称
在存储库中创建其分支名称。要将其branch名称转换为您的remote-tracking名称,您的Git会将您的remote名称(例如git fetch
或origin
)粘贴在其branch前面名称。因此,他们的upstream
成为您的master
或origin/master
或upstream/master
。这些名称中的内部,all具有长(或全名)形式:例如,您自己的github/master
分支实际上是master
,而不是master
。这里的refs/heads/master
是origin/master
的缩写。 Git通常会删除这些前缀,因此您不必查看或输入它们。当您运行refs/remotes/origin/master
时,您的Git将列出这些远程跟踪名称。当您运行git branch -r
或git branch
时,您的Git将列出您的branch
git branch -l
时,您的Git将列出both,但这一次,您的Git不会将远程跟踪名称缩短为git branch -a
,而是将其缩短为origin/master
。
remotes/origin/master
(您的
存储库中的原始名称)为绿色; 远程跟踪名称(其分支名称,但已由您的Git修改以适合您的存储库)为红色。由于GitHub上的存储库已完全消失,因此所有这些红色文本远程跟踪名称现在都已无用。您可以从您自己的Git存储库中逐一删除它们。但是由于GitHub上的存储库已完全消失,因此remote
名称master
本身也没有用。不必费心地删除每个远程跟踪名称,而将遥控器本身留在后面,您可以完全删除该遥控器。删除遥控器会删除您自己的所有Git的遥控器跟踪名称复制自,因此一个删除将完成所有操作。