Gitのブランチをローカルおよびリモートで削除する方法

Gitのブランチをローカルおよびリモートで削除する方法

Gitの最も強力な機能の1つは、その軽量なブランチです。これらを使用すると、開発の並行段階で効率的に作業できます。開発者は、個別のバグに対して個別のブランチを作成することもあります。時間と空間の両方で、ブランチはほとんどコストがかかりません。





サインインせずにYouTubeのビデオを見る

多くのgitワークフローは、長期ブランチと一時ブランチの両方を処理します。したがって、開発中にブランチを削除する必要があることがよくあります。ローカルブランチだけでなく、リモートサーバーから共有ブランチを削除する必要がある場合があります。





なぜブランチを削除するのですか?

まず、まだgitを理解している場合は、ブランチを作成してから、その必要がないと判断する可能性がかなりあります。または、ブランチを試していて、自分で片付けたいと思っているかもしれません。 gitでの分岐は軽量な操作であるため、これは問題ありません。非常に高速で、ディスク領域を効率的に使用します。





その結果、多くのgit開発ワークフローは、非常に小さなタスクや短いタスクであっても、分岐を促進します。たとえば、一般的な戦略は次のとおりです。 ブランチを作成する 単一のバグ修正。これは、1人の作成者が1つのファイルに1行の変更を加えるだけの場合でも当てはまります。

これらの理由から、ブランチの作成と削除は十分に理解する必要のある操作です。通常の開発ワークフロー中にブランチを削除することがよくあります。



ブランチのあるサンプルリポジトリ

次の例は、次の構造のサンプルリポジトリを参照しています。

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

各ローカルブランチには、リモートからの対応するアップストリームブランチがあることに注意してください。





コマンドラインを使用したブランチの削除

ブランチを削除するための基本的なコマンド構文は次のとおりです。

git branch (-d | -D) [-r] ...

コマンドの最も単純な形式は、すべての変更がマージされている場合、ローカルブランチを削除します。





$ git branch -d dev

現在アクティブなブランチを削除することはできません。そうしようとすると、次のようなメッセージが表示されます。

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

問題が解決すると、確認メッセージが表示されます。

Deleted branch dev (was 1ae41e8).

ローカルにのみ存在するブランチを削除し、変更をマージしないと、それらの変更は失われます。したがって、gitはデフォルトで、このような状況でブランチの削除を拒否します。

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

エラーメッセージが通知するように、あなたは削除を強制することができます -NS 国旗。ただし、gitを使用すると、マージされていないローカルブランチがリモートに存在する場合、それを削除できます。

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

リモートブランチの削除はまったく異なります。を使用します git push と一緒にコマンド -NS 削除するフラグ。その後、リモートの名前を入力します(多くの場合 )およびブランチ名:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

GitHubデスクトップを使用したローカルブランチとリモートブランチの削除

コマンドラインのgitプログラムとは異なり、 GitHubのデスクトップアプリ アクティブなブランチのみを削除できます。このアクションは、 ブランチ メニュー、を選択して 消去 オプションとそれを確認する:

GitHubデスクトップでは、デフォルトのブランチを削除できません。例: main-git自体がこれをサポートしていますが。デフォルトのブランチが現在アクティブなブランチである場合、アプリはメニューアクションを無効にします。

ブランチがリモートブランチも表す場合、GitHubデスクトップにはリモートからも削除するオプションがあります。

GitKrakenを使用したブランチの削除

GitCrack リポジトリのローカルブランチとリモートブランチを左側のサイドバーに表示します。それぞれを削除する必要があります別々に

適切なブランチ名にカーソルを合わせて、 ブランチ 3つの縦の点のように見えるアクションメニュー。メニューから、 消去

これが破壊的な操作であることを通知する確認メッセージが表示されます。続行することを確認できます 消去 ボタン:

gitコマンドラインプログラムのデフォルトの動作を反映して、最初に削除するブランチ以外のブランチに切り替える必要があります。それ以外の場合は、次のエラーメッセージが表示されます。

Towerを使用したローカルブランチとリモートブランチの削除

でブランチを削除する タワー GitKrakenでブランチを削除するのと非常によく似ています。ローカルブランチとリモートブランチは、左側のパネルに表示されます。任意のブランチを右クリックして、コンテキストメニューから[削除]オプションを選択します。

主な違いの1つは、確認時にリモートブランチをローカルブランチと一緒に削除できることです。

GitHubでブランチを削除する

GitHubはリモートソースとしてのみ機能するため、デフォルトではそこにあるブランチはリモートです。 GitHub Webサイトを使用してブランチを削除する場合は、ここにある他の方法のいずれかを使用して、対応するローカルブランチを削除する必要があります。

GitHubデスクトップアプリと同様に、GitHubWebサイトではデフォルトのブランチを削除できません。オプションは単に表示されません。ただし、ブランチの削除は簡単です。リポジトリから コード ページをクリックし、 リンクをクリックし、削除するブランチを見つけて、 このブランチを削除します ゴミ箱のように見えるアイコン:

マージされていない変更のチェックがないことに注意してください。そのため、GitHubでは、ブランチはただちに削除されます。ただし、これは常にリモートブランチを表すため、これは期待する動作である必要があります。

削除すると、次のボタンが表示されることに注意してください 戻す ブランチ。ただし、誤って削除アイコンをクリックした場合に備えて、これは単に便利な元に戻す機能です。更新したり、ページから移動したりするとすぐにオプションが失われるため、これに依存しないでください。

Bitbucketのローカルブランチとリモートブランチを削除する

Bitbucketは、GitHubと同様に、デフォルトのブランチを削除することはできません。 Bitbucketはこれを 主枝リポジトリ設定 。にリストされている他のブランチは削除できます ブランチ タブ、対応する経由 行動 メニュー:

大規模なクリーンアップ操作を実行している場合は、一度に複数のブランチを削除することもできます。

ブランチの削除は、典型的なGitワークフローの一部です

Gitブランチは、ワークフローを複雑にする可能性があります。特に、ローカルブランチ、リモートブランチ、トラッキングブランチの場合はそうです。ただし、単純な日常の開発では、ローカルブランチを常に作成および削除する可能性があります。これは、慣れるべき典型的なgitワークフローの中心的な側面です。

共有 共有 つぶやき Eメール Gitブランチを使用してプログラミングプロジェクトを構築する方法

この記事では、コードの分岐の意味、その方法、および「メイン」のgitブランチの更新を管理する方法について説明します。

次を読む
関連トピック
  • プログラミング
  • GitHub
著者について ボビージャック(58の記事が公開されました)

ボビーは、20年のほとんどの間ソフトウェア開発者として働いた技術愛好家です。彼はゲームに情熱を注いでおり、Switch Player Magazineのレビュー編集者として働いており、オンラインパブリッシングとウェブ開発のあらゆる側面に没頭しています。

ボビージャックのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください