9

を使用してリポジトリを構築しました

git clone --mirror <url>

いくつかのリモートブランチを削除したいのですが、次のようになります。

$ git push origin :b
error: --mirror can't be combined with refspecs

... また

$ git push --delete b
fatal: --delete doesn't make sense without any refs

また、git branch -D bリモコンには触れないでください。

ミラークローンからリモートブランチを削除する方法はありますか、それともそのために別のクローンを作成する必要がありますか?

4

3 に答える 3

4

実際、リポジトリのクローンを作成しなくても、リポジトリのブランチを削除できます。

git push <url> +:refs/heads/b

唯一の注意点は、gitリポジトリ、任意のリポジトリ内にいる必要があるということです。空のリポジトリを作成して、それを実行してから削除することもできます。

確かに、ミラー内でもそれを行うことができます。ブランチが消えるのは、を実行した後にのみ表示されることに注意してくださいgit remote prune origin

于 2017-05-06T10:34:49.950 に答える
3

--mirrorを使用してリポジトリのクローンを作成すると、ベアリポジトリが作成されます。これは、次のことを意味します。

「そのGitにはバージョン管理情報が含まれているだけで、作業ファイルは含まれていません(ツリーは含まれていません)。また、特別な.gitサブディレクトリは含まれていません。代わりに、メインディレクトリに直接.gitサブディレクトリのすべてのコンテンツが含まれています。自体。"。

クローンのミラーオプションは、メモや外部参照を含む現在のリポジトリの「現状のまま」のコピーを作成するためのものです。

そうは言っても、間違ったリポジトリで実行しているので、元のリポジトリを使用して変更を加える必要があります。それに応じてミラーが変更されます。

あなたの質問に答える:

ミラークローンからリモートブランチを削除する方法はありますか、それともそのために別のクローンを作成する必要がありますか?

私が知っていることではありませんが、裸のリポジトリ以外に、裸でないリポジトリのように使用することはできません。

多分あなたが必要とするものはフォークです、多分あなたがあなたが必要とするものをもう少しよく説明するならば。とにかく、質問してから一年が経ちました。

関連する質問とドキュメントは次のとおりです。

于 2014-06-10T13:19:22.833 に答える
1

ベアリポジトリ(--mirrorオプションを使用してリポジトリのクローンを作成)から、ミラーリングされたリポジトリのブランチを削除し、-mirrorオプションを使用して削除をプッシュできます。

$> git clone --mirror <url>
$> git branch -D branch_to_delete_1
$> git branch -D branch_to_delete_2
$> git push --mirror

複数のブランチを一度に削除することができます。

詳細:https ://git-scm.com/docs/git-push

于 2018-10-05T13:42:12.167 に答える