回答:
Gitでは、ブランチは単なる順序付きのコミットリストです(別名:チェックイン)。新規ユーザーにとって少しわかりにくいのは、ブランチに名前を付ける必要がないということです(ほとんどの場合、名前は必要ですが)。特定のブランチについて特に特別なことは何もありません(master
ブランチは、リポジトリを初期化するときに作成されるデフォルトのブランチです)。
おそらくこれはすでにご存知でしょうが、Gitは人気のある「Subversion」のような他のバージョン管理システムとは異なります。すべての「作業コピー」(Subversion言語)は独自のリポジトリであるためです...実際、特に何もありません特定のコピーに関する特別な; ただし、1つのコピーが最終製品の保存に使用される「標準」コピーとして一般的に合意されていることを除きます。
それでは、質問に戻ります...ローカルコピーを開始したときに複製した「標準」リポジトリには、デフォルトで「マスター」ブランチが含まれていました。そして、それは周りに立ち往生しています。ここで、マスターリポジトリを含むコンピューターにアクセスできる場合は、ログインして実行できます。
git branch -d master
ただし、それができない場合でも、ローカルマシンから実行できます。このgit branch
コマンドには-r
、リモートリポジトリに影響するオプションがあります。つまり、次のコマンドを実行すると動作するはずです。
git branch -d -r master
これらの両方の場合に注意してください。私はそれmaster
があなたのローカルコピーが現在置かれている開発履歴に完全にマージされたと仮定しています。master
以前に使用したことがない場合(つまり、development
またはにチェックインしたことがある場合production
)、心配する必要はありません。ただし、あなた(または他の誰か)がにチェックインしているmaster
場合は、問題が発生している可能性があります。上記のコマンドで-d
to -D
を変更することにより、強制的に削除できます。しかし、master
事前に何が入っているかを確認することを強くお勧めします!リモートコンピューターにアクセスできない場合、おそらく回復できません。
ところで; あなた(または他の誰か)がGitを初めて使用する場合は、John WiegleyによるGit from the Bottom Upを読むことを強くお勧めします。この記事を見つける前に自分でGitを少し使用していましたが、それを読むまでは、Gitがどのように機能するのか本当に理解していませんでした。とても便利です!
master
gitのデフォルトのブランチです。gitがマスターからどれだけ離れているかを教えてくれるのになぜそんなにひどいのかはわかりませんが、リモートリポジトリのブランチを削除する場合、ローカルで削除するだけでは十分ではありません。代わりにこれを試してください:
git push origin :master
これにより、オリジンサーバーに何もプッシュされず(コロンの前の部分)、マスターが上書きされます。つまり、masterブランチをリモートで削除する必要があります。
git branch -d -r master
、リモートブランチは削除されなくなりました。リモートブランチに関するローカルコピーの知識が削除されます。次回git fetch
、ブランチが戻ってきます!代わりに、を実行しますgit push origin :master
。基本的に、ここで行うことは、nullブランチ(の左側にある空のブランチ名:
)をリモートブランチ(の右側にあるブランチ名)の上にプッシュして:
、事実上削除することです。