Asas Penggabungan Git dan Penghapusan Cabang

Basics Git Merging



Percabangan dapat membantu anda menjaga kerja anda dengan teratur. Walau bagaimanapun, anda mesti dapat menggabungkan kerja anda untuk menjadikan kerja itu tetap. Sekiranya anda tidak pernah menggabungkan dan menghapus cawangan, sejarah anda mungkin menjadi terlalu kacau untuk difahami.

Bekerja dengan Penggabungan dan Hapus Cawangan

Mari buat cawangan induk pertama, masukkan beberapa komit, buat cawangan baru yang disebut ciri, tambahkan beberapa komit, kemudian kembali ke menguasai dan komit lagi. Berikut adalah arahannya:







$mkdirmygame
$CDmygame
$git init
$membuang 'Keputusan Reka Bentuk 1: Brainstarm' >>reka bentuk.txt
$git tambah -TO
$git komit -m 'C0: Projek Dimulakan'
$membuang 'Keputusan Reka Bentuk 2: Tulis Kod' >>reka bentuk.txt
$git tambah -TO
$git komit -m 'C1: Kod yang dihantar'
$cawangan gitciri-ciri
$git checkoutciri-ciri
$membuang 'Tambah Ciri 1' >>ciri.txt
$git tambah -TO
$git komit -m 'C2: Ciri 1'
$membuang 'Tambah Ciri 2' >>ciri.txt
$git tambah -TO
$git komit -m 'C3: Ciri 2'
$git checkouttuan
$membuang 'Mengubah Master Lagi' >>reka bentuk.txt
$git tambah -TO
$git komit -m 'C4: Master Diubahsuai'

Perintah di atas menimbulkan situasi berikut:





Anda boleh menyemak sejarah kedua-dua cawangan tersebut untuk melihat komitmen yang mereka ada:





$status git
Pada tuan cawangan
tiada komitmen, kerja direktori yang bersih
$log git --satu garisan
2031b83 C4: Master Diubahsuai
1c0b64c C1: Kod yang dihantar

$git checkoutciri-ciri
Beralih ke cawangan'ciri-ciri'

$log git --satu garisan
93d220b C3: Ciri2
ad6ddb9 C2: Ciri1
1c0b64c C1: Kod yang dihantar
ec0fb48 C0: Memulakan Projek

Sekarang mari kita anggap, anda ingin membawa semua perubahan dari cabang ciri ke cawangan induk kami. Anda harus memulakan proses dari destinasi penggabungan. Kerana kami ingin bergabung ke cabang induk, anda perlu memulakan proses dari sana. Oleh itu, mari lihat cabang induk:

$git checkouttuan
Beralih ke cawangan'tuan'

$status git
Pada tuan cawangan
tiada komitmen, kerja direktori yang bersih

Sekarang mari buat gabungan:



$git bergabungciri-ciri

Sekiranya tidak ada konflik dalam penggabungan, anda akan membuka editor teks dengan komen:

Gabungan cawangan'ciri-ciri'

# Sila masukkan mesej komit untuk menjelaskan mengapa penggabungan ini diperlukan,
# terutamanya jika menggabungkan hulu yang dikemas kini menjadi cabang topik.
#
# Garis yang dimulai dengan '#' akan diabaikan, dan mesej kosong dibatalkan
# komit.

Anda boleh mengubah komen atau menerima komen lalai. Hasil penggabungan harus menunjukkan hasil seperti ini:

Gabungan dibuat oleh'rekursif'strategi.
ciri.txt| 2++
1 failberubah,2sisipan(+)
mod buat100644ciri.txt

Selepas penggabungan, anda mempunyai syarat berikut:

Sekiranya anda memeriksa log, anda akan dapati:

$status git
Pada tuan cawangan
tiada komitmen, kerja direktori yang bersih

$log git --satu garisan
46539a3 C5: Gabungan cawangan'ciri-ciri'
2031b83 C4: Master Diubahsuai
93d220b C3: Ciri2
ad6ddb9 C2: Ciri1
1c0b64c C1: Kod yang dihantar
ec0fb48 C0: Memulakan Projek

Anda berjaya menggabungkan perubahan. Walau bagaimanapun, cabang ciri masih ada.

$cawangan git -kepada
ciri-ciri
*tuan

Anda boleh menghapusnya dengan arahan berikut:

$cawangan git -dciri-ciri

Sekiranya anda menyemak sekarang, anda hanya perlu melihat cabang induk:

$cawangan git -kepada
*tuan

Kesimpulannya

Pastikan anda kerap memeriksa cawangan yang tidak digunakan dan hapuskannya. Anda mahu menjaga penyimpanan anda bersih agar mudah dinavigasi dan difahami.

Bacaan lanjut: