Saya memiliki empat cabang seperti master -> origin / regacy, FeatureA -> origin / FeatureA. Seperti yang Anda lihat, saya mengetik nama yang salah.
Jadi saya ingin mengganti nama nama cabang jarak jauh (asal / regacy → asal / warisan atau asal / master)
Saya coba perintah di bawah ini:
git remote rename regacy legacy
Tapi Git console mengembalikan pesan kesalahan kepada saya.
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
Bagaimana saya bisa menyelesaikan masalah ini?
git
repository
rename
git-branch
JayD
sumber
sumber
Jawaban:
Ada beberapa cara untuk mencapai itu:
Mengganti nama lokal dan jarak jauh
Mengganti nama Hanya cabang jarak jauh
Kredit: ptim
Catatan penting:
Saat Anda menggunakan
git branch -m
(pindah), Git juga memperbarui cabang pelacakan Anda dengan nama baru.git remote rename
sedang mencoba memperbarui bagian jarak jauh Anda di file konfigurasi Anda. Ini akan mengubah nama remote dengan nama yang diberikan ke nama baru, tetapi dalam kasus Anda, itu tidak menemukan apa pun, sehingga penggantian nama gagal.Tetapi itu tidak akan melakukan apa yang Anda pikirkan; itu akan mengubah nama nama konfigurasi lokal Anda dan bukan cabang jarak jauh.
Catatan Git server mungkin memungkinkan Anda untuk mengganti nama cabang Git menggunakan antarmuka web atau program eksternal (seperti Sourcetree, dll.), Tetapi Anda harus ingat bahwa di Git semua pekerjaan dilakukan secara lokal, jadi disarankan untuk menggunakan perintah di atas untuk pekerjaan.
sumber
Your configuration specifies to merge with the ref ''refs/heads/old_name'
git checkout <new_name> ; git branch --unset-upstream
--unset-upstream
sebelum mendorong kembali, itu berfungsi sebagaimana dimaksud.Jika Anda salah menamai cabang DAN mendorongnya ke repositori jauh, ikuti langkah-langkah ini untuk mengganti nama cabang itu ( berdasarkan artikel ini ):
Ganti nama cabang lokal Anda:
Jika Anda berada di cabang yang ingin Anda ganti namanya:
git branch -m new-name
Jika Anda berada di cabang yang berbeda:
git branch -m old-name new-name
Hapus
old-name
cabang jarak jauh dan dorongnew-name
cabang lokal :git push origin :old-name new-name
Setel ulang cabang upstream untuk cabang lokal nama baru :
Beralih ke cabang dan kemudian:
git push origin -u new-name
sumber
git push <remote> --delete old_name
&git push origin :old-name new-name
untuk menghapus cabang.master
, dalam Detail Repo atur cabang default ke cabang baru. Kesalahannya adalah:By default, deleting the current branch is denied, because the next 'git clone' won't result in any file checked out, causing confusion. You can set 'receive.denyDeleteCurrent' configuration variable to 'warn' or 'ignore' in the remote repository to allow deleting the current branch, with or without a warning message. To squelch this message, you can set it to 'refuse'. error: refusing to delete the current branch: refs/heads/master
Tampaknya ada cara langsung:
Lihat jawaban asli untuk lebih detail.
sumber
2.20.1
Menghapus cabang lama tetapi yang baru tidak dibuat.Itu juga bisa dilakukan dengan cara berikut.
Mula-mula ganti nama cabang lokal, lalu cabang jarak jauh.
Mengganti nama cabang lokal:
Jika login di cabang lain,
Jika login di cabang yang sama,
Mengganti nama cabang jarak jauh:
sumber
Jika Anda sudah mendorong nama yang salah ke jarak jauh, lakukan hal berikut:
Beralih ke cabang lokal yang ingin Anda ganti namanya
git checkout <old_name>
Ganti nama cabang lokal
git branch -m <new_name>
Dorong
<new_name>
cabang lokal dan setel ulang cabang hulugit push origin -u <new_name>
Hapus
<old_name>
cabang jarak jauhgit push origin --delete <old_name>
Ini didasarkan pada artikel ini .
sumber
Melampirkan Cuplikan Sederhana untuk mengganti nama cabang Anda saat ini (lokal dan asal):
Penjelasan dari git docs:
sumber
Tidak ada metode langsung,
Ganti nama Cabang Lokal ,
Cabang saya saat ini adalah master
git branch -m master_renamed
#master_renamed adalah nama baru masterHapus cabang jarak jauh,
git push origin --delete master
#origin adalah remote_nameDorong cabang yang diganti nama menjadi jauh,
git push origin master_renamed
Itu dia...
sumber
git push -u origin master_renamed
untuk menetapkan cabang sebagai cabang pelacakanIni dapat dilakukan bahkan tanpa mengganti nama cabang lokal dalam tiga langkah sederhana:
sumber
Saya menggunakan ini alias git dan cukup banyak pekerjaan otomatis:
Ini berfungsi jika Anda memiliki nama default seperti master, origin dll. Anda dapat memodifikasi sesuai keinginan tetapi memberi Anda ide.
sumber
Saya harus melakukan tugas berikut untuk mengubah nama cabang lokal dan jarak jauh:
sumber
Ganti nama cabang lokal Anda. Jika Anda berada di cabang yang ingin Anda ganti namanya:
cabang git -m nama baru
Jika Anda berada di cabang yang berbeda:
Hapus cabang jarak jauh nama lama dan dorong cabang lokal nama baru.
git push origin: nama lama nama baru
Setel ulang cabang upstream untuk cabang lokal nama baru. Beralih ke cabang dan kemudian:
git push origin -u new-name
Siap!
sumber
Jika Anda berada di cabang yang ingin Anda ganti namanya:
jika Anda tetap di cabang yang berbeda saat ini:
Tetap di cabang target dan:
Beralih ke cabang target dan kemudian:
sumber