Rumah  >  Artikel  >  alat pembangunan  >  Penggunaan lanjutan git

Penggunaan lanjutan git

PHPz
PHPzasal
2023-05-17 15:10:07561semak imbas

Dalam bidang pembangunan, Git ialah alat kawalan versi yang berkuasa. Ia membantu pembangun mengurus berbilang versi kod dengan mudah, menjadikan kerjasama pasukan lebih cekap. Walaupun Git telah menjadi alat yang biasa digunakan untuk pengaturcara, ramai orang hanya menggunakan fungsi asas dan tidak dapat menggunakan kuasa penuh Git. Artikel ini akan memperkenalkan penggunaan lanjutan Git untuk membantu pembaca memahami Git dengan lebih baik dan meningkatkan kecekapan.

  1. Rebase

Rebase ialah satu cara untuk menukar sejarah penyerahan, menukar penyerahan yang asalnya selari kepada garis lurus. Perbezaan terbesar antara Rebase dan Merge ialah Rebase mengubah susunan penyerahan, manakala Merge tidak mengubah susunan penyerahan.

Dalam sesetengah kes, Rebase lebih baik daripada Merge. Contohnya, apabila menggabungkan cawangan, menggunakan Merge akan menjadikan sejarah penyerahan sukar untuk dikekalkan, tetapi menggunakan Rebase boleh memastikan sejarah penyerahan ringkas dan kemas. Pada masa yang sama, menggunakan Rebase juga boleh mengelakkan konflik apabila berbilang orang bekerjasama.

Menggunakan Rebase adalah sangat mudah, cuma laksanakan arahan pada cawangan semasa:

git rebase <branch>

di mana, d9a7422b1cf5be0d32831e8302405909 ialah cawangan yang akan digabungkan. Selepas pelaksanaan berjaya, Git secara automatik akan membina semula sejarah penyerahan cawangan semasa ke dalam urutan penyerahan linear.

  1. Cherry-pick

Cherry-pick ialah kaedah untuk memilih commit dan menerapkannya pada cawangan semasa. Kadang-kadang, kita perlu menggunakan komit dari cawangan lain ke cawangan semasa boleh menyelesaikan masalah ini.

Menggunakan Cherry-pick adalah mudah, cuma laksanakan arahan pada cawangan semasa:

git cherry-pick <commit>

di mana, bc59094fbd619487e70ee0dbb7ee2c82 adalah komit untuk digunakan. Selepas pelaksanaan berjaya, Git akan menggunakan komit yang ditentukan pada cawangan semasa.

  1. Bisect

Bisect ialah kaedah carian binari yang digunakan untuk mencari ralat dalam atur cara. Menggunakan Bisect, kami boleh mencari lokasi ralat dengan cepat.

Menggunakan Bisect memerlukan langkah berikut:

  1. Tandai status semasa sebagai Baik (betul)
git bisect start
git bisect good <commit>

Di mana, bc59094fbd619487e70ee0dbb7ee2c82 ialah betul semasa penyerahan. Selepas pelaksanaan berjaya, Git akan menandakan status semasa sebagai Baik.

  1. Tandai status terkini sebagai Buruk (ralat)
git bisect bad <commit>

di mana bc59094fbd619487e70ee0dbb7ee2c82 adalah komitmen terkini. Selepas pelaksanaan berjaya, Git akan menandakan status semasa sebagai Buruk.

  1. Tandai keadaan perantaraan

Menggunakan Bisect, Git akan mencari dan menandai keadaan perantaraan secara automatik dalam sejarah komit. Kita perlu menentukan sama ada status penyerahan semasa adalah Baik atau Buruk berdasarkan hasil program yang dijalankan, dan gunakan arahan berikut untuk menandakan keadaan perantaraan:

git bisect good/bad

Selepas pelaksanaan berjaya, Git akan bertukar secara automatik kepada negeri pertengahan.

  1. Ulang langkah 3 dan 4

Mengikut hasil larian program, kita perlu terus melakukan langkah 3 dan 4 sehingga komit di mana ralat berada terletak.

  1. End Bisect

Setelah komit di mana ralat terletak, kita perlu menamatkan Bisect menggunakan arahan berikut:

git bisect reset

Selepas pelaksanaan berjaya, Git akan kembali ke keadaan sebelum ralat kedudukan.

  1. Submodul

Submodul ialah kaedah yang membenarkan meletakkan repositori Git lain dalam repositori Git. Menggunakan Submodul, kami boleh menggabungkan berbilang repositori Git bersama-sama dengan mudah untuk memudahkan pembangunan dan penyelenggaraan.

Untuk menggunakan Submodul, anda perlu melakukan langkah-langkah berikut:

  1. Tambah Submodul

Gunakan arahan berikut untuk menambah repositori Git lain ke semasa repositori:

git submodule add <URL> <path>

Di mana, 258c40d94d8689854ad79c4076dd5f96 ialah URL repositori Git untuk ditambahkan dan 98953a78f52873edae60a617ec082494 ialah laluan untuk menambah repositori.

  1. Kemas kini Submodul

Jika terdapat kemas kini dalam repositori Git lain, kami perlu mengemas kini Submodul secara manual:

git submodule update

Selepas pelaksanaan berjaya, Git akan kemas kini semua Submodul dikemas kini kepada versi terkini.

  1. Aliran Kerja

Menggunakan Aliran Kerja dalam Git ialah kaedah aliran kerja yang membantu pembangun mengatur dan mengurus asas kod. Terdapat banyak jenis Aliran Kerja, yang paling biasa ialah Aliran Kerja Gitflow. Aliran Kerja Gitflow digunakan secara meluas dalam Git kerana ia boleh membantu pasukan memenuhi beberapa keperluan paling asas.

Gitflow Workflow terutamanya termasuk cawangan berikut:

  • master: Cawangan digunakan untuk menyimpan versi stabil dalam projek.
  • bangun: cawangan digunakan untuk menyepadukan kerja pembangunan pembangun individu dan menjalankan ujian projek.
  • ciri: cawangan digunakan untuk membangunkan ciri baharu.
  • keluaran: cawangan digunakan untuk mengeluarkan versi baharu.
  • pembetulan terkini: cawangan digunakan untuk membetulkan isu ketidakserasian atau pepijat yang mendesak.

Menggunakan Aliran Kerja perlu dilaksanakan secara khusus mengikut keperluan pasukan, dan mesti diringkaskan dan dioptimumkan secara berterusan dalam amalan.

Ringkasan

Artikel ini memperkenalkan beberapa penggunaan lanjutan Git, termasuk Rebase, Cherry-pick, Bisect, Submodules, Workflows, dll. Kaedah ini boleh membantu pembaca lebih memahami Git dan meningkatkan kecekapan pembangunan. Dalam amalan, pembangun boleh menggunakan alatan ini secara fleksibel untuk mengekalkan asas kod dengan lebih baik.

Atas ialah kandungan terperinci Penggunaan lanjutan git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn