私はmaster - > Origin/regacy、FeatureA - > Origin/FeatureAのような4つのブランチを持っています。ご覧のとおり、間違った名前を入力しました。
だから私はリモートブランチ名を変更したいのですが(Origin/regacy→Origin/legacyまたはOrigin/master)
私は以下のコマンドを試してみます:
git remote rename regacy legacy
しかし、Gitコンソールからエラーメッセージが返されました。
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
どうすればこの問題を解決できますか?
リモートブランチの名前を直接変更することはできません。 あなたはそれを削除してからそれを再プッシュする必要があります。
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old branch on remote - where <remote> is, for example, Origin
git Push <remote> --delete old_name
# Push the new branch to remote
git Push <remote> new_name
# Reset the upstream branch for the new_name local branch
git Push <remote> -u new-name
git branch -m
(移動)を使用すると、Gitは 更新 新しい名前の追跡ブランチにもなります。
git remote rename legacy legacy
git remote rename
は設定ファイル内のリモートセクションを更新しようとしています。指定された名前のリモコンの名前を新しい名前に変更しますが、あなたの場合は見つからなかったため、名前の変更は失敗しました。
しかし それはあなたが思うことをしないでしょう。それはあなたの local 設定リモート名と not リモートブランチの名前を変更します。
注 Gitサーバーでは、Webインターフェースまたは外部プログラム(Sourcetreeなど)を使用してGitブランチの名前を変更できますが、Gitではすべての作業がローカルで行われるため、注意上記のコマンドを使用して作業することをお勧めします。
誤ってブランチに名前を付けてリモートリポジトリにプッシュした場合は、次の手順に従ってそのブランチの名前を変更してください( この記事に基づく )。
ローカルブランチの名前を変更する:
あなたがブランチ上にいる場合は、名前を変更したいです。git branch -m new-name
あなたが別のブランチにいるならば:git branch -m old-name new-name
old-name
リモートブランチを削除し、new-name
ローカルブランチをプッシュする:git Push Origin :old-name new-name
新しい名前のローカルブランチのアップストリームブランチをリセットする:
ブランチに切り替えてから:git Push Origin -u new-name
直接的な方法があるようです。
ブランチの名前をリモートで(同時にローカルブランチの名前を変更せずに)変更するだけの場合は、次のような単一のコマンドでこれを実行できます。
git Push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
詳細については元の答えを参照してください。
次のようにすることもできます。
最初にローカルブランチ、次にリモートブランチの名前を変更します。
ローカルブランチの名前を変更する:
別のブランチにログインした場合
git branch -m old_branch new_branch
同じブランチにログインした場合
git branch -m new_branch
リモートブランチの名前変更:
git Push Origin :old_branch // Delete the remote branch
git Push --set-upstream Origin new_branch // Create a new remote branch
これは、3つの簡単なステップでローカルブランチの名前を変更しなくても実行できます。
直接的な方法はありません、
ローカルブランチの名前を変更 、
私の現在のブランチは master です。
git branch -m master_renamed
#master_renamedはマスターの新しい名前です
リモートブランチを削除します。
git Push Origin --delete master
#Origin is remote_name
名前が変更されたブランチをリモートにプッシュします。
git Push Origin master_renamed
それでおしまい...
私はこれらのgitエイリアスを使用しますが、ジョブはほぼ自動で行われます。
git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git Push --delete Origin $1; git status; git Push -u Origin $2; git branch -a; exit;'
使用法:git move FROM_BRANCH TO_BRANCH
Master、Originなどのデフォルト名があれば機能します。必要に応じて変更できますが、アイデアは得られます。