web-dev-qa-db-ja.com

ローカルのGitブランチの名前を変えるにはどうすればいいですか?

ローカルとリモートの両方のGitリポジトリのマスターブランチの名前を変更で説明されているように、リモートブランチの名前を変更したくはありません。

リモートブランチにプッシュされていないローカルブランチの名前を変更する方法

remote branchの名前も変更する必要がある場合は、次のようにします。
Gitのローカルブランチとリモートブランチの両方の名前を変更するにはどうすればよいですか

7584
Forrest

ブランチを指しているときにブランチの名前を変更したい場合は、次のようにします。

git branch -m <oldname> <newname>

現在のブランチの名前を変更したい場合は、次のようにします。

git branch -m <newname>

これを覚えておくための方法は、-mは "move"(またはmv)のためのもので、これはファイルの名前を変更する方法です。

12186
siride
git branch -m old_branch_name new_branch_name

上記のコマンドはブランチ名を変更しますが、名前が変更されたブランチを使用する場合は、それに関連付けられた古いアップストリームブランチがある場合はそれも参照するため、注意が必要です。

ローカルブランチの名前をnew_branch_nameに変更した後に、いくつかの変更をmasterにプッシュしたい場合(例の名前):

git Push Origin new_branch_name:master(変更はマスターブランチに行きますが、あなたのローカルブランチの名前はnew_branch_nameです)

詳細については、「 Gitでローカルブランチ名を変更する方法 」を参照してください。

387
Madhan Ayyasamy

現在のブランチの名前を変更するには

git branch -m <newname>
283
Jonathan

ブランチの名前を変更する手順は次のとおりです。

  1. 名前を変更する必要があるブランチに切り替えます
  2. git branch -m <new_name>
  3. git Push Origin :<old_name>
  4. git Push Origin <new_name>:refs/heads/<new_name>

EDIT(12/01/2017): /コマンドgit statusを実行し、新しく作成されたブランチが古いブランチではなくそれ自身のリファレンスを指していることを確認します。古いブランチへの参照が見つかった場合は、次のコマンドを使用してアップストリームの設定を解除する必要があります。

git branch --unset-upstream
226
Milind Anantwar

あなたのブランチが終了したら、ブランチの名前を変更することは役に立ちます。それから新しいものがやってくるので、あなたはそれを削除して新しいものを作成する代わりに同じブランチで開発したいです。

私の経験から、Gitのローカルブランチとリモートブランチの名前を変更するには、次の手順を実行する必要があります。

複数の状態からの引用 - gitでローカルブランチとリモートブランチの名前を変更

1.支店の名前を変更する

あなたがブランチ上にいる場合は、名前を変更したいです。

git branch -m new-name

あなたが別のブランチにいるならば:

git branch -m old-name new-name

2.古い名前のリモートブランチを削除し、新しい名前のローカルブランチをプッシュします。

git Push Origin :old-name new-name

3.新しい名前のローカルブランチのアップストリームブランチをリセットします。

git Push Origin -u new-name
161
trungk18

答えはこれまでのところ正しいですが、ここにいくつかの追加情報があります。

ブランチの名前は '-m'(移動)で変更できますが、 '-M'は同じ名前の既存のブランチがすでに存在していても名前の変更を強制するため、注意が必要です。これが 'git-branch'のmanページからの抜粋です。

> -mまたは-Mオプションを使用すると、<oldbranch><newbranch>に名前変更されます。 <oldbranch>に対応するreflogがある場合は、<newbranch>と一致するように名前が変更され、ブランチの名前変更を記憶するためにreflogエントリが作成されます。 <newbranch>が存在する場合は、-Mを使用して名前の変更を強制する必要があります。

93
Vanchev

1.名前を変更する

現在のブランチの場合は、 を実行してください。

git branch -m new_name

別のブランチの場合は名前を変更したい

git branch -m old_name new_name

2.新しいリモートブランチを追跡する

- ブランチがプッシュされた場合は、名前を変更した後にリモートGitリポジトリからそれを削除し、新しいローカルブランチに新しいリモートブランチを追跡するように依頼する必要があります。

git Push Origin :old_name
git Push --set-upstream Origin new_name
77
Oss

私は愚かにハイフンで始まるブランチに名前を付けて、そしてマスターをチェックアウトしました。私は 削除 私のブランチを望みませんでした、私はそれに取り組んでいました。

どちらもうまくいきませんでした。

git checkout -dumb-name

git checkout -- -dumb-name

"s、's、および\sはどちらも役に立ちませんでした。 git branch -mは動作しません。

これが私がついに修正した方法です。作業コピーの.git/refs/headsに行き、ファイル名 "-dumb-name"を見つけて、ブランチのハッシュを取得してください。それからこれをチェックして、正しい名前で新しいブランチを作り、そして古いブランチを削除します。

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
66
Samuel Meacham

ローカルにブランチの名前を変更するには:

git branch -m [old-branch] [new-branch]

今、あなたはあなたのリモートサーバにもこれらの変更を伝播しなければなりません。

削除された古いブランチの変更をプッシュするには

git Push Origin :[old-branch]

新しいブランチの作成の変更をプッシュするには

git Push Origin [new-branch]
60
aliasav

このコマンドを使用してブランチの名前を変更します。

git branch -m [old_branch_name] [new_branch_name]

-m:ブランチの名前を変更/移動します。すでにブランチがある場合はエラーになります。

すでにブランチがあり、そのブランチの名前を変更したい場合は、次のようにします。

 git rename -M [old_branch_name] [new_branch_name]

ヘルプの詳細については、端末でこのコマンドを使用してください。

git branch --help

または

man git branch
33

Advanced Gitユーザーは以下を使って手動で名前を変更することができます。

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name
31
Jethik

ブランチ名を変更:

git branch -m old_branchname new_branchname

ここで-mオプションの正式名称は--moveです。だから我々も使用することができます:

git branch --move old_branchname new_branchname

現在のブランチの名前を変更したい場合は、これを使用してください。

git branch -m new_branchname

または

git branch -move new_branchname

これらの変更をリモートに移動したい場合は、以下を使用してください。

git Push Origin :old_branchname new_branchname

これでold_branchnameリモートブランチが削除され、new_branchnameローカルブランチがプッシュされます。

git Push Origin -u new_branchname

これはnew_branchnameローカルブランチのアップストリームブランチをリセットします。

30
Ajmal sha
  1. 地元の支店の名前を変更してください。

あなたがブランチ上にいる場合は、名前を変更したいです。

git branch -m new-name

あなたが別のブランチにいるならば:

git branch -m old-name new-name
  1. 古い名前のリモートブランチを削除し、新しい名前のローカルブランチをプッシュします。

git Push Origin :old-name new-name

  1. 新しい名前のローカルブランチのアップストリームブランチをリセットします。ブランチに切り替えてから:

git Push Origin -u new-name

またはそれをするための速い方法のために、あなたはこれらの3つのステップを使うことができます:

#ローカルでブランチ名を変更

git branch -m old_branch new_branch  

#古いリモートブランチを削除する

git Push Origin :old_branch  

#新しいブランチをプッシュし、新しいリモートを追跡するためにローカルブランチを設定します

git Push --set-upstream Origin new_branch   

参照: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

26
badarshahzad

これが3つのステップです:あなたの端末の中で呼び、ブランチ名を変更できるコマンド。

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

ステップバイステップで、Gitのブランチ名を変更する方法はそれに関する良い記事です。

22

おそらく他の人が述べたように、これはブランチの命名で大文字と小文字の不一致になるでしょう。

あなたがそのような状況にあるならば、私はあなたがWindowsにいると推測することができます。

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

それから中間ステップをしなければなりません:

$ git branch -m temporary
$ git branch -m casesensitive

これ以上何もない。

21
P4C

質問(少なくともタイトル)に特に答えようとしています。

local branchの名前を変更することもできますが、リモートで古い名前を追跡し続けます。

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

これで、git Pushを実行すると、リモートのold_branch refがローカルのnew_branchに更新されます。

あなたは知っていて、覚えていなければなりません /この設定。しかし、リモートブランチ名の選択肢がなくても気に入らない場合は便利です(ああ、つまり、 とても良い 好きではないという理由)そしてあなたの地元の支店にはもっとわかりやすい名前をつけてください。

フェッチ設定で遊んで、あなたはローカルremote-referenceの名前を変更することさえできます。つまり、ブランチへのrefs/remote/Origin/new_branch refポインタ、つまり実際はOrigin上のold_branchを持っています。しかし、私はあなたの心の安全のためにこれを強く推奨しません。

19

SourceTree (これを強くお勧めします)を使用したい場合は、ブランチを右クリックして[名前の変更]を選択してください。

enter image description here

17
Marcin Szymczak

現在のブランチの名前を変更するには(detached HEAD stateを除く)、次のエイリアスも使用できます。

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
16
dentuzhik

ブランチ{ローカルを変更するのはとても簡単です...

あなたが名前を変更したいブランチにいる場合は、単にこれを行います。

git branch -m my_new_branch

それ以外の場合は、名前を変更したいもの以外のmasterまたは他のブランチにアクセスしている場合は、単に以下のようにします。

git branch -m my_old_branch my_new_branch

また、これをコマンドラインで実際に動作させるために、以下の画像を作成します。この場合、あなたはmasterブランチにいます。例えば:

Change branch name locally

16
Alireza

もう1つの選択肢は、コマンドラインをまったく使用しないことです。 SourceTree のようなGit GUIクライアントは、このような質問がStack Overflowで最もよく見られるものの中にあるシンタックス学習曲線/苦痛の多くを取り除きます。

SourceTreeで、左側の[ブランチ]ペインの任意のローカルブランチを右クリックして[名前の変更...]を選択します。

15
Steve Chambers

ブランチをリモートサーバーにプッシュしたくないので、この例は役に立ちます。

「my-hot-feature」という既存のブランチがあり、それを「feature-15」に名前変更したいとしましょう。

まず、あなたはあなたの地元の支店を変えたいのです。これは簡単なことではありません。

git branch -m my-hot-feature feature-15

詳細については、Gitのブランチのローカル名およびリモート名の変更を参照してください。

13
Tanah

Gitバージョン2.9.2

あなたがいるローカルブランチの名前を変更したい場合は:

git branch -m new_name

別のブランチの名前を変更したい場合は、

git branch -m old_name new_name

別のブランチの名前をすでに存在している名前に変更したい場合は、次のようにします。

git branch -M old_name new_name_that_already_exists

注:最後のコマンドは破壊的であなたのブランチの名前を変更しますが、ブランチの名前はユニークでなければならないのでその名前とコミットを使って古いブランチを失います。

10
nikkypx

現在のブランチの名前を変更したい場合は、次のコマンドを実行してください。

git branch -m [old_branch] [new_branch]

古いリモートブランチを削除したい場合は、次のコマンドを実行してください。

git Push Origin :[old_branch]

古いリモートブランチを削除して新しいリモートブランチを作成したい場合は、次のコマンドを実行してください。

git Push Origin :old_branch new_branch
8
Arif

簡単な方法は次のとおりです。

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

詳しくは this をご覧ください。

8
Nomade

GitHubだけでなくremoteでも名前の変更を再現するための2つのステップ

ステップ1 git branch -m old_branchname new_branchname

ステップ2 git Push Origin :old_branchname new_branchname

7
Harry_pb
git branch -m old_branch_name  new_branch_name

または

git branch --move old_branch_name new_branch_name
4
user128364

Git GUIユーザーにとっては、それほど簡単ではありません。 Git GUIでは、メニュー項目Branch:Renameから作成した[Rename Branch]ダイアログボックスのドロップダウンリストからブランチ名を選択し、新しい名前を入力して[Rename]をクリックします。ドロップダウンリストの場所を強調しました。

Rename a local Git branch

4
user3070485

これまでの答えはすべてgit branch -mについてのものです。もちろん、操作は簡単ですが、私にとっては、別のGitコマンドを覚えるのは少し難しいかもしれません。それで、私は私が精通していたコマンドによって仕事をさせようとしました。ええ、あなたはそれを推測するかもしれません。

私はgit branch -b <new_branch_name>を使います。古いブランチを保存したくない場合は、git branch -D <old_branch_name>を実行して削除することができます。

少し面倒かもしれませんが、理解して覚えるのは簡単です。お役に立てば幸いです。

3
Dai Kaixian

Git branchの名前変更は次のようにして行えます。

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-m -M の違い:

-m: - m を使用して既存のブランチ名でブランチの名前を変更しようとしている場合。ブランチが既に存在するというエラーが発生します。あなたはユニークな名前をつける必要があります。

しかし、

-M: これは、たとえそれが存在していても、与えられた名前で名前の変更を強制するのに役立ちます。したがって、既存のブランチはそれで完全に上書きされます...

これは Git端末の例です。

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$
3

あなたがしたい場合は:

  • Gitリポジトリの名前を変更して、git branch -m <oldname> <newname>を実行します。
  • 古いブランチを削除するには:git Push Origin: old-name new-name
  • git commit <newname> を使ってコミットします。
    • そしてgit Push Origin new_branch_name:masterを使ってプッシュします。
  • 状況を確認したい場合は、git statusを使用してください。
  • チェックアウトしたい場合は、git checkoutを使用してください。
2
Vineet Jain

PhpStormでは:

VCS→Git→ブランチ...→ローカルブランチ→ _あなたのブランチ_ →名前の変更

1
AlexSi
git branch -m [old-branch] [new-branch]

-mは、[古いブランチ]から[新しいブランチ]にすべて移動することを意味し、他のファイルシステムで-Mを使用できることを忘れないでください。

0
Saad Bilal

現在のブランチの名前を変更

git branch -m <newbranchname>

または

git branch -m oldbranchname newbranchname
0
panthari