\r\n\r\n

gitのブランチをローカルとリモートで削除する方法

githubでブランチを削除する理由はたくさんあります。幸いなことに、gitのブランチを削除するのは簡単です...

Gitの最も強力な機能のひとつに、軽量なブランチがあります。これにより、並行する開発フェーズを効率的に処理することができます。開発者は、個々のバグのために別のブランチを作成することもできます。分岐は、時間的にも空間的にもほとんど自由です。

多くの git ワークフローでは、長期的なブランチと一時的なブランチの両方を扱います。そのため、開発中にブランチの削除が必要になることも少なくない。ローカルブランチだけでなく、リモートサーバーの共有ブランチも削除する必要がある場合があります。

なぜブランチを削除する必要があるのですか?

まず、まだgitを使っているのであれば、ブランチを作成した後に、そのブランチは必要ないと判断することが多いようです。あるいは、枝を使った実験をしていて、自分できれいにしたいと思うこともあるかもしれません。gitのブランチは軽量な操作なので、これでよいのです。非常に高速で、ディスクスペースを効率的に使用することができます。

その結果、多くの git 開発ワークフローでは、ごく小さな作業や短い作業であってもブランチを作成することが推奨されています。例えば、よくある戦略として、一つのバグフィックスのためにブランチを作成することがあります。これは、たとえ一人の作者が一行の変更しかしていないファイルであっても同じです。

これらの理由から、ブランチの作成と削除はよく理解する必要がある操作であり、一般的な開発ワークフローにおいてブランチを削除することは日常的に行われていることでしょう。

ブランチを含むリポジトリの例

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

$ git branch -vv1 dev 1ae41e8 [origin/dev] first commit2 * main 1ae41e8 [origin/main] first commit

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

コマンドラインによるブランチの削除

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

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

このコマンドの最も単純な形式は、ローカルブランチを削除することです。ただし、そのブランチに対するすべての変更がマージされていることが条件です。

$ 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’.

エラーメッセージが示すように、-D フラグを使えば強制的に削除することができます。しかし、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).

リモートブランチの削除は全く別物です。削除するには、gitpushコマンドと-dフラグを使用します。次に、リモートサーバー(通常はソースサイト)の名前とブランチ名を指定します。

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

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

コマンドラインのgitアプリケーションとは異なり、GitHubのデスクトップアプリケーションでは、アクティブなブランチのみを削除することができます。ブランチメニューから削除を選択し、確認することで実行できます。

GitHub Desktop では、たとえ git 自体がサポートしていても、main などのデフォルトブランチを削除することはできません。デフォルトのブランチが現在アクティブなブランチである場合、アプリケーションはメニュー操作を無効化します。

ブランチがリモートブランチでもある場合、GitHub Desktop ではリモートからブランチを削除することもできます。

gitkrakenを使ったブランチの削除

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

該当するブランチ名の上にカーソルを置き、縦に3つ並んだ点のようなブランチアクションメニューをクリックします。メニューから、「削除 &lt; 支店名&gt; 」を選択します。

破壊的な操作であることを知らせる確認メッセージが表示されるので、「削除」ボタンで続行するかどうか確認します。

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

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

Tower でのブランチの削除は、GitKraken でのブランチの削除と非常によく似ています。ローカルブランチとリモートブランチは、左側のパネルに表示されます。任意のブランチを右クリックし、関連メニューから「削除」を選択します。

重要な違いは、検証中にリモートブランチをローカルブランチと一緒に削除できることです。

github上のブランチを削除する

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

GitHubのデスクトップアプリケーションと同様に、GitHubのウェブサイトでもデフォルトブランチを削除することはできません。オプションは全く表示されません。しかし、ブランチを削除するのは簡単です。リポジトリのコードページで、ブランチのリンクをクリックし、削除したいブランチを見つけ、ビンのような形をした「Delete this branch」アイコンをクリックします。

マージされていない変更のチェックは行われないので、GitHub上ではブランチはすぐに削除されることに注意してください。しかし、常にリモートブランチを表すので、これは期待通りの動作であるはずです。

なお、削除後は、ブランチを復元するボタンが表示されます。ただし、これは誤って削除アイコンをクリックしてしまった場合のアンドゥ機能としてのみ有効です。一度ページを更新したり、離れたりすると、オプションがなくなってしまうので、当てにしないでください

bitbucketのローカルブランチとリモートブランチの削除

BitbucketはGitHubと同様に、リポジトリの設定でmasterブランチと呼ばれるデフォルトブランチの削除を許可していません。ブランチ」タブに表示されている他のブランチは、対応するアクションメニューから削除することができます。

また、大規模なクリーンアップを行う場合は、複数のブランチを一度に削除することも可能です。

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

Git のブランチは、特にローカルブランチ、リモートブランチ、そしてトラッカーブランチを持つブランチなど、ワークフローを複雑にすることがあります。しかし、日々のシンプルな開発では、ローカルブランチの作成と削除を常に行うことになるでしょう。これは、典型的なgitのワークフローの中核をなすもので、慣れる必要があります。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ