私は 2 台の異なるコンピューター (A と B) から作業し、共通の git リモートを Dropbox ディレクトリに保存します。
たとえば、master と devel という 2 つのブランチがあるとします。どちらも、リモートの origin/master と origin/devel を追跡しています。
ここで、コンピューター A で、ローカルとリモートのブランチ devel を削除します。
git push origin :heads/devel
git branch -d devel
コンピュータ A で実行するとgit branch -a
、次のブランチのリストが表示されます。
- マスター
- 起源/HEAD
- 起源/マスター
コンピュータ B で実行するとgit fetch
、 でローカル devel ブランチを削除できますgit branch -d devel
が、リモート devel ブランチを削除することはできません。
git push origin :heads/devel
次のエラー メッセージを返します。
エラー: 不適格な宛先にプッシュできません: heads/proxy3d
宛先の refspec はリモートの既存の参照と一致しておらず、refs/ で始まっていません。また、ソース参照に基づいてプレフィックスを推測できません。
致命的: リモート側が予期せずハングアップしました
git branch -a
リモート ブランチに origin/devel がまだリストされています。
コンピューター B からリモート ブランチをクリーンアップするにはどうすればよいですか?
ベストアンサー1
git branch -a
まず、マシン Bの結果は何でしょうか?
heads/devel
次に、ですでに削除されているorigin
ため、マシン B から削除することはできません。
試す
git branch -r -d origin/devel
または
git remote prune origin
または
git fetch origin --prune
実際に実行せずに実行結果を確認するには、ステートメント--dry-run
の最後に自由に追加してください。git
ドキュメントgit remote prune
そしてgit branch
。