2012-02-10 17 views
184

基本的な質問:git repoをクローン元の元祖から切り離すにはどうすればよいですか?gitリポジトリからオリジンを削除する方法

git branch -aショー:

* master 
    remotes/origin/HEAD -> origin/master 

と私は起源のすべての知識、および関連するリビジョンを削除します。

長い質問:私は既存のSubversionリポジトリを使用して、そこからいくつかの小さなgitリポジトリを作成したいと考えています。新しいgit reposのそれぞれは、関連するブランチの完全な履歴を持つ必要があります。私が使用してちょうど希望サブツリーにレポをプルーニングすることができます

git filter-branch --subdirectory-filter path/to/subtree HEAD 

が、結果レポはまだ起源/マスターブランチの下で今、廃棄されたサブツリーのすべてのリビジョンが含まれています。

最初にSubversionリポジトリの関連するサブツリーを複製するためにgit-svnに-Tフラグを使うことができたことを知りました。 git repoのコピーでgit filter-branch --subdirectory-filterの複数のインスタンス化を後で実行するよりも効率的であるかどうかはわかりませんが、いずれにしても、元のものとのリンクを解除したいと思います。

答えて

311

かなり簡単:

git remote rm origin 
filter-branch質問については

- ちょうどあなたのフィルタ分岐命令に--prune-emptyを追加し、それは実際にあなたの結果のレポに何らかの変更が含まれていない任意のリビジョンを削除します:

+1

ありがとうございます。私が紛失したのは '--prune-empty'だった。 – awy

+2

Hmm。 'エラー:設定セクション 'を削除できませんでした' remote.origin'' –

関連する問題