簡體   English   中英

從git-svn遷移到git后,如何刪除偽造的遠程分支?

[英]How do I remove fake remote branches I have after migrating from git-svn to git?

我使用git-svn已有一段時間了(我團隊中的每個人都一直在直接使用svn)。 我們決定都將開始使用git。 為了做到這一點,我使用了git repo,它是我的git-svn的“一面”,例如:

$ git remote add origin git@github.com:mycompany/myproject.git
$ git push -u origin master

一切正常,但是當過程完成時,我保留了git-svn剛開始使用時創建的所有這些可笑的分支,只有一點點扭結。 git甚至不再承認它們是分支。 這是我的清單:

$ git branch -r
domain_integration
dot-org
dot-org@1977
email-edit-page
origin/account-integration
origin/master
origin/stable
prototype_to_jquery-1.1.0
stable@1976
tags/development-1.1.0.0
tags/pre-2011-02-08
tags/production-1.0
tags/stable-1.0.0
tags/stable-1.0.1
tags/stable-1.1.0
tags/stable-1.1.0.1
trunk-stash

這些很煩人,盡管我知道它們的來源(大部分是),但是現在我什至無法刪除它們。 有時候是這樣的:

$ git branch -d trunk-stash
error: branch 'trunk-stash' not found.

我可以通過進入.git / refs / remotes並刪除它們來修復其中的一些問題,但是那里只有一些。 我只能在.git / info / refs中找到它們。 看起來類似於以下內容:

...
7788d300f0d4370d65a3ccf3e47d90f7fb16b0b4        refs/remotes/tags/stable-1.0.0
aace34d6745080ce2b6b29e927f5d1b050b99511        refs/remotes/tags/stable-1.0.1
58bd2ac23d5979ff61bd6305df18f8a5da50f888        refs/remotes/tags/stable-1.1.0
644fd55fcdf2569305cdbe0b6fefb9f247625658        refs/remotes/tags/stable-1.1.0.1
bc8e9f9177c9612aceb55624adea1b02e9e8620f        refs/remotes/trunk
69493e14345e6a7a4db324935bccd6393f201da4        refs/remotes/trunk-stash
25b7024f6c1d38c10400b2c2e7b446aae1e84e06        refs/stash
...

我認為這只是將分支與它們的最后一次提交相關聯。 刪除“假”的東西有意義嗎? 這會破壞一些東西嗎? (行得通嗎?)

如果只需要master分支,則可以隨時刪除本地存儲庫並重新克隆它。 如果您只關心master分支,那是最簡單的。 您可以隨時嘗試:

git remote prune origin

擺脫不再源於本地的遠程引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM