基本的な質問: Git リポジトリとクローン元の関連付けを解除するにはどうすればよいですか?
git branch -a
表示:
* master
remotes/origin/HEAD -> origin/master
そして、起源に関するすべての知識と関連する改訂を削除したいと考えています。
長い質問です。既存の Subversion リポジトリを取得して、そこからいくつかの小さな Git リポジトリを作成したいと考えています。新しい Git リポジトリのそれぞれには、関連するブランチの完全な履歴のみが含まれている必要があります。次のコマンドを使用して、リポジトリを必要なサブツリーだけに整理できます。
git filter-branch --subdirectory-filter path/to/subtree HEAD
ただし、結果のリポジトリには、origin/master ブランチの下にある、現在は破棄されたサブツリーのすべてのリビジョンがまだ含まれています。
そもそも、git-svn に -T フラグを使用して、Subversion リポジトリの関連サブツリーをクローンできることに気づきました。後でgit filter-branch --subdirectory-filter
git リポジトリのコピーに対して複数のインスタンス化を実行するよりも効率的かどうかはわかりませんが、いずれにしても、元の場所とのリンクを解除したいと思います。
ベストアンサー1
かなり簡単です:
git remote rm origin
質問に関してはfilter-branch
、--prune-empty
フィルター ブランチ コマンドに以下を追加するだけで、結果のリポジトリに実際に変更が含まれていないリビジョンがすべて削除されます。
git filter-branch --prune-empty --subdirectory-filter path/to/subtree HEAD