相关疑难解决方法(0)

删除跟踪分支不再在远程

是否有一种简单的方法可以删除远程等效不再存在的所有跟踪分支?

例:

分支机构(本地和远程)

  • 产地/主
  • 产地/漏洞修复,一个
  • 产地/漏洞修复-B
  • 产地/漏洞修复-C

在本地,我只有一个主分支.现在我需要处理bug-fix-a,所以我检查它,处理它,并将更改推送到远程.接下来我用bug-fix-b做同样的事情.

分支机构(本地和远程)

  • 漏洞修复,一个
  • 漏洞修复-B
  • 产地/主
  • 产地/漏洞修复,一个
  • 产地/漏洞修复-B
  • 产地/漏洞修复-C

现在我有本地分支机构master,bug-fix-a,bug-fix-b.Master分支维护者将我的更改合并到master中并删除他已经合并的所有分支.

那么现在的状态是:

分支机构(本地和远程)

  • 漏洞修复,一个
  • 漏洞修复-B
  • 产地/主
  • 产地/漏洞修复-C

现在我想调用一些命令删除分支(在本例中为bug-fix-a,bug-fix-b),这些分支不再在远程存储库中表示.

它会像现有的命令git remote prune origin,但更像是git local prune origin.

git git-branch

996
推荐指数
25
解决办法
38万
查看次数

git pull失败"无法解析引用""无法更新本地引用"

使用git 1.6.4.2,当我这样做时,git pull我收到此错误:

error: unable to resolve reference refs/remotes/origin/LT558-optimize-sql: No such file or directory
From git+ssh://remoteserver/~/misk5
 ! [new branch]      LT558-optimize-sql -> origin/LT558-optimize-sql  (unable to update local ref)
error: unable to resolve reference refs/remotes/origin/split-css: No such file or directory
 ! [new branch]      split-css  -> origin/split-css  (unable to update local ref)
Run Code Online (Sandbox Code Playgroud)

我试过git remote prune origin,但没有用.

git git-pull

552
推荐指数
18
解决办法
34万
查看次数

git远程分支被删除但仍出现在'branch -a'中

让我们说coolbranch我的存储库中有一个分支.

现在,我决定删除它(远程和本地):

git push origin :coolbranch
git branch -D coolbranch
Run Code Online (Sandbox Code Playgroud)

大!现在分支真的被删除了.

但是当我跑步的时候

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

我还是得到:

remotes/origin/coolbranch
Run Code Online (Sandbox Code Playgroud)

需要注意的是,当我克隆一个新的存储库时,一切都很好,git branch -a并没有显示分支.

我想知道 - 有没有办法从branch -a列表中删除分支而不克隆新实例?

git git-branch

505
推荐指数
6
解决办法
11万
查看次数

删除所有本地git分支

我遵循一个开发过程,为每个新功能或故事卡创建一个新的本地分支.完成后,我将分支合并为master,然后推送.

由于懒惰或健忘的结合,随着时间推移会发生的事情是,我最终得到了大量的本地分支,其中一些(例如尖峰)可能没有被合并.

我知道如何列出我所有的本地分支,我知道如何删除一个分支,但我想知道是否有一个git命令允许我删除所有我的本地分支?

以下是该git branch --merged命令的输出.

user@machine:~/projects/application[master]$ git branch --merged
  STORY-123-Short-Description
  STORY-456-Another-Description
  STORY-789-Blah-Blah
* master
Run Code Online (Sandbox Code Playgroud)

所有删除列出的分支的尝试grep -v \*(根据下面的答案)都会导致错误:

error: branch 'STORY-123-Short-Description' not found.
error: branch 'STORY-456-Another-Description' not found.
error: branch 'STORY-789-Blah-Blah' not found.
Run Code Online (Sandbox Code Playgroud)

我正在使用:
git 1.7.4.1
ubuntu 10.04
GNU bash,版本4.1.5(1) -
发布GNU grep 2.5.4

git bash version-control ubuntu grep

270
推荐指数
24
解决办法
16万
查看次数

Visual Studio Code - 删除仍在VS Code中显示的GitHub上删除的分支?

在VSCode中,在我执行拉取请求并删除GitHub上的分支后,该分支仍然显示在Visual Studio代码中.如果我选择分支,它会按预期给出错误.

如何从VSCode中删除这些现已删除的分支 - 我可以自动执行吗?

更新:2019年2月

列出并删除多个分支

与此同时__CODE__,这是我用于的另一个分支删除相关命令__CODE__:

示例 - 列出以.开头的所有分支 __CODE__

__PRE__

列表删除.注意:更换__CODE____CODE__删除没有警告

__PRE__

github visual-studio visual-studio-code

60
推荐指数
10
解决办法
3万
查看次数

错误:无法锁定ref ..'refs/tags'存在; 无法创建'refs/tags /

我试图从github中提取更改时遇到一个奇怪的"无法锁定引用"错误.我已经尝试了git gc,并四处寻找类似的错误但无法找到解决方案.

> git pull
error: cannot lock ref 'refs/tags/v2.8': 'refs/tags' exists; cannot create 'refs/tags/v2.8'
From github.com:k3it/qsorder
 ! [new tag]         v2.8       -> v2.8  (unable to update local ref)
error: cannot lock ref 'refs/tags/v2.9': 'refs/tags' exists; cannot create 'refs/tags/v2.9'
 ! [new tag]         v2.9       -> v2.9  (unable to update local ref)
Run Code Online (Sandbox Code Playgroud)

git github

31
推荐指数
7
解决办法
6万
查看次数

即使删除了其上游远程分支,git remote prune origin也不会删除本地分支

这是一个常见的用例,我克隆一个存储库,签出一个分支,做一些代码更改,进行多次提交,然后当它稳定时,我做一个推送到远程,最终分支被合并和删除.我离开了一个上游的当地分支机构.

我一直在寻找一种删除所有这些分支的安全方法.从描述来看,似乎git remote prune起源正是这样做的.但它似乎并不适合我.

看到以下行为,分支encrdb_init已被删除remotegit remote prune origin命令似乎没有修剪它.我不知道为什么.

$ git branch
  bugfix/encrdb_init
  * master
$
$ git remote prune origin
$
$ git checkout bugfix/encrdb_init
  Switched to branch 'bugfix/encrdb_init'
  Your branch is based on 'origin/bugfix/encrdb_init', but the upstream 
  is gone.
  (use "git branch --unset-upstream" to fixup)
$
$ git branch
  bugfix/encrdb_init <<< shouldn't this have been pruned?
  * master
Run Code Online (Sandbox Code Playgroud)

供参考添加输出 git remote show origin

$ git remote show origin
* remote origin
  Fetch URL: …
Run Code Online (Sandbox Code Playgroud)

git git-remote git-branch

13
推荐指数
1
解决办法
7425
查看次数

如果远程跟踪引用不再存在,请删除本地Git分支

我有一个本地和远程Git存储库.

  • 在我的本地存储库中,我创建并切换到新分支: git checkout -b feature/niceNewFeature

  • 我做我的编码git add .,git commitgit push我的feature/niceNewFeature分支远程存储库(如GitHub上).

  • 在此之后,我创建了一个GitHub Pull Request来合并feature/niceNewFeature分支master- 在审查代码之后,我将这样做.

  • 由于feature/niceNewFeature现在合并到master,我将在GitHub上删除它.

  • 但是,在我的本地存储库中,如果执行git branch命令,仍会列出feature/niceNewFeature分支.

如何feature/niceNewFeature从本地存储库中删除分支,因为它已经与master远程存储库合并和删除?

git version-control branch github git-branch

3
推荐指数
1
解决办法
1611
查看次数

git remote update origin --prune 对本地更改的影响

请注意:我首先看了一下这个问题,希望它能回答我的问题,但我认为我的略有不同!


有人告诉我,在git remote update origin --prune本地运行会强制我的本地存储库与原始存储库具有完全相同的分支。但是,我可以找到大量有关使用 的信息/文档git remote prune origin,但找不到git remote update origin --prune...

我对这个命令的理解正确吗?如果不是,我怎么被误导了?如果我是对的,那么如果我有尚未远程推送的本地功能分支会发生什么?如果我有一个变化的分支,会发生什么远程现有/原点,但有我没有推开这些变化了吗?

提前致谢!

git

3
推荐指数
1
解决办法
6166
查看次数