在我们的 GitHub 存储库中,一位同事删除了一个名为 的分支release
。但是当我在git checkout release
本地运行时,我总是得到删除的分支release
。同样,即使我签出另一个分支,删除了release
分支git branch -D release
并再次运行git checkout release
。
GitHub 存储库上有什么要修复的吗,还是我应该在本地修复一些东西?
rud*_*ier 28
在远程端删除分支后,您可能仍会在本地看到这个以前获取的远程分支,请参阅:
$ git branch -a
[...]
release
remotes/origin/release
[...]
Run Code Online (Sandbox Code Playgroud)
您只删除了“发布”但没有删除“遥控器/来源/发布”。像这样删除它:
$ git branch -rd origin/release
Run Code Online (Sandbox Code Playgroud)
或者删除远程端不再存在的所有获取的分支:
$ git remote prune origin
Run Code Online (Sandbox Code Playgroud)
Ste*_*itt 15
当远程删除分支时,您需要修剪本地存储库 - 最简单的方法是使用
git fetch -p
Run Code Online (Sandbox Code Playgroud)
这将使用对远程存储库所做的所有更改来更新您的本地存储库,但不会更新任何本地分支。运行这个之后,
git branch --remote
Run Code Online (Sandbox Code Playgroud)
将不再显示已删除的远程分支。
git 存储库是完整的,无论是在您自己的系统上还是在服务器上。因此,当您第一次克隆存储库时,您会得到一个完整的副本,并且您的本地 git “知道”所有远程分支以及您的本地分支。此信息不会自动同步,因此当您的同事删除release
服务器上的分支时,您的本地 git 存储库并没有失去远程release
分支的概念。同步git fetch
更新远程分支上的所有本地信息,使它们与服务器上的状态(严格来说,远程存储库,无论在哪里)相匹配,但不会删除远程分支上的任何本地信息。使用git fetch -p
(or git fetch --prune
, or git remote prune
)修剪会删除已删除的远程分支上的本地信息。
归档时间: |
|
查看次数: |
7417 次 |
最近记录: |