Git Rebase dan Branch Bertukar

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.