1. ホーム
  2. git

[解決済み] git リポジトリから origin を削除する方法

2022-03-14 08:55:54

質問

基本的な質問です。git リポジトリをクローン元のリポジトリから切り離すにはどうすればよいですか?

git branch -a が表示されます。

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

そして、オリジンに関するすべての知識、関連するリビジョンを削除したい。

長い質問です。既存のSubversionレポから、いくつかの小さなGitレポを作成したいと思います。それぞれの新しい git repos は、関連するブランチだけの全履歴を持つ必要があります。私は、以下の方法で、レポを必要なサブツリーだけにプルーンすることができます。

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

が、出来上がったレポには origin/master ブランチの下にある、今は破棄されたサブツリーのすべてのリビジョンが残っています。

git-svn の -T フラグを使えば、Subversion リポジトリの関連するサブツリーを最初にクローンすることができるのはわかりました。のインスタンスを複数回実行するよりも効率的かもしれません。 git filter-branch --subdirectory-filter しかし、いずれにせよ、オリジンとのリンクを断ち切りたいのは変わりません。

解決方法は?

かなり簡単です。

git remote rm origin


については filter-branch を追加するだけです。 --prune-empty を filter branch コマンドに追加すると、結果のリポジトリから実際に変更が含まれていないリビジョンを削除してくれます。

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