Pangkalan semula
Rebase
ialah proses menukar sejarah komit cawangan dengan menggunakan komit dari cawangan lain. Daripada menggunakan merge
untuk menggabungkan perubahan, rebase
membolehkan anda membuat insert
komitmen baharu ke dalam sejarah komit cawangan semasa tanpa membuat komitmen gabungan.
Sebagai contoh, katakan anda mempunyai dua cawangan: feature-branch
dan main
. Anda sedang berusaha feature-branch
dan ingin menggunakan komitmen terkini dari main
cawangan semasa anda. Anda boleh menggunakan rebase untuk mencapai ini:
git checkout feature-branch
git rebase main
Apabila anda menjalankan arahan ini, Git akan mengambil komit daripada main
dan menggunakannya pada feature-branch
. Ini bermakna semua komit pada feature-branch
akan muncul selepas komit dari main
. Hasilnya ialah sejarah komit yang lebih bersih dan boleh dibaca pada feature-branch
.
Walau bagaimanapun, apabila menggunakan rebase, adalah penting untuk ambil perhatian bahawa menukar sejarah komit boleh memberi kesan kepada cawangan yang dikongsi secara terbuka. Oleh itu, jika anda telah menolak komit dari cawangan semasa anda ke repositori jauh, biasanya dinasihatkan supaya tidak menggunakan rebase pada cawangan itu untuk mengelakkan konflik dan sejarah komit yang tidak kemas.
Branch
Bertukar
Penukaran cawangan dalam Git merujuk kepada proses berpindah dari satu cawangan ke cawangan lain. Apabila anda menukar cawangan, Git mengalihkan penuding HEAD ke cawangan baharu, membolehkan anda bekerja pada cawangan itu dan membuat perubahan tanpa menjejaskan cawangan lain.
Sebagai contoh, katakan anda mempunyai cawangan feature-branch
dan main
. Untuk beralih ke feature-branch
, anda akan menggunakan arahan berikut:
git checkout feature-branch
Selepas menukar cawangan, anda boleh membuat perubahan dalam direktori kerja. Semua commit
, add
, dan checkout
arahan akan digunakan pada cawangan semasa.
Sebagai contoh, jika anda menambah fail baharu dan memasukkannya pada feature-branch
, hanya cawangan itu yang akan mengandungi komit, sementara main
kekal tidak terjejas. Ini membolehkan anda membangunkan ciri berasingan, membetulkan pepijat atau bekerja pada versi kod yang berbeza secara bebas. Anda boleh bertukar antara cawangan bila-bila masa diperlukan untuk bekerja pada setiap cawangan secara berasingan.