Lebih
Cara mengganti master branch di Git, seluruhnya, dari cabang lain?
Mungkin Duplikat:
Membuat arus Git branch master branch
Saya memiliki dua cabang di repositori Git:
master
seotweaks
(awalnya dibuat darimaster
)
Aku menciptakan seotweaks
dengan maksud cepat penggabungan kembali menjadi master
. Namun, itu tiga bulan yang lalu dan kode di cabang ini adalah versi 13 ke depan dari master
.
Hal ini telah secara efektif menjadi kerja kami sebagai cabang master semua kode di master
lebih atau kurang usang sekarang.
Sangat buruk praktek yang saya tahu, pelajaran yang dipelajari.
Apakah anda tahu bagaimana saya dapat mengganti semua isi dari master
cabang dengan orang-orang di seotweaks
?
Aku hanya bisa menghapus segala sesuatu di master
dan bergabung, tapi ini tidak merasa seperti praktek terbaik.
1540
5
Anda harus mampu menggunakan "kita" menggabungkan strategi untuk menimpa guru dengan seotweaks seperti ini:
Hasilnya harus anda master adalah sekarang pada dasarnya seotweaks.
(
-s milik kita
adalah singkatan dari--strategi=ours
)Dari docs tentang 'kita' strategi:
Update dari komentar: Jika anda mendapatkan fatal:
menolak untuk menggabungkan terkait sejarah
, maka perubahan kedua baris ini: gitmerge --izinkan-terkait-sejarah -s kita master
Bagaimana menggunakan git branch -m untuk mengubah nama cabang utama untuk satu sama lain, maka nama seotweaks cabang untuk menguasai? Sesuatu seperti ini:
Ini akan menghapus melakukan origin master, silahkan cek asal guru sebelum menjalankan git push-f origin master`.
Anda dapat mengubah nama/menghapus guru di daerah terpencil, tetapi ini akan menjadi masalah jika banyak orang telah berdasarkan pekerjaan mereka pada remote cabang master dan telah menarik bahwa cabang di repo lokal. Yang mungkin tidak akan terjadi di sini karena semua orang tampaknya untuk dapat bekerja pada cabang '
seotweaks
'.Dalam hal ini anda dapat: git remote --show mungkin tidak bekerja. (Membuat
git remote show
untuk memeriksa seberapa jauh anda dinyatakan dalam repo lokal. Saya akan berasumsi 'asal
') (Tentang GitHub, house9 komentar: "saya harus melakukan satu langkah tambahan, klik 'Admin
' tombol di GitHub dan mengatur 'Default Cabang
' ke sesuatu yang lain dari 'master
', kemudian meletakkannya kembali setelah itu")Tapi lagi-lagi:
me-reset --hard
mereka master lokal ke remote/master cabang mereka akan mengambil, dan melupakan mereka saat ini master.Sejak
seotweaks
awalnya diciptakan sebagai sebuah cabang darimaster
, penggabungan kembali adalah ide yang baik. Namun jika anda berada dalam situasi di mana salah satu dari cabang-cabang anda tidak benar-benar sebuah cabang darimaster
atau sejarah anda begitu berbeda bahwa anda hanya ingin melenyapkanmaster
cabang demi cabang yang baru anda've telah melakukan pekerjaan anda dapat melakukan hal ini:Hal ini sangat membantu jika anda mendapatkan kesalahan ini:
Dan anda tidak menggunakan GitHub dan don't memiliki akses ke "Administrasi" tab untuk mengubah default cabang untuk remote repositori. Selain itu, ini tidak't menyebabkan down time atau ras kondisi seperti yang anda mungkin mengalami dengan menghapus master:
Saya menemukan ini menjadi cara terbaik untuk melakukan ini (aku punya masalah dengan server saya tidak membiarkan saya hapus).
Pada server yang host
asal
repositori, ketik berikut dari sebuah direktori dalam repositori:Pada workstation anda:
Kembali pada server yang host
asal
repositori:Kredit untuk penulis blog post http://www.mslinn.com/blog/?p=772