Rumah > hujung hadapan web > tutorial css > Memilih ceri dalam git

Memilih ceri dalam git

Joseph Gordon-Levitt
Lepaskan: 2025-03-17 11:08:10
asal
856 orang telah melayarinya

Memilih ceri dalam Git

Artikel ini meneruskan siri "Advanced Git" kami. Ikuti kami di Twitter atau langgan surat berita kami untuk kemas kini mengenai artikel masa depan!

Dalam ansuran sebelumnya, kami meneroka rebasing dan penggabungan. Walaupun berbeza, kedua -dua git merge dan git rebase melayani tujuan asas yang sama: mengintegrasikan perubahan dari satu cawangan ke yang lain.

Artikel ini memberi tumpuan kepada git cherry-pick , perintah yang kuat yang membolehkan integrasi terpilih individu melakukan dari mana-mana cawangan ke kepala anda sekarang. Ini berbeza dengan git merge dan git rebase , yang menggabungkan semua komitmen baru dari cawangan sumber.

Mengapa secara selektif menggunakan satu komit? Kes penggunaan utama adalah membetulkan kesilapan. Bayangkan secara tidak sengaja melakukan cawangan yang salah. cherry-pick memudahkan pembetulan: beralih ke cawangan yang betul dan ceri-memilih komit yang salah.

Siri Git Lanjutan:

  • Bahagian 1: membuat komitmen git yang ideal
  • Bahagian 2: Strategi cawangan Git yang berkesan
  • Bahagian 3: Melangkah kerjasama dengan permintaan tarik
  • Bahagian 4: Menyelesaikan konflik gabungan
  • Bahagian 5: Rebasing vs. Penggabungan: Perbandingan
  • Bahagian 6: Menguasai Rebase Interaktif
  • Bahagian 7: Memilih ceri dalam Git ( anda di sini! )
  • Bahagian 8: Memulihkan Hilang Berjalan dengan Reflog

Satu perkataan yang berhati-hati: Elakkan terlalu bergantung pada cherry-pick . Aliran kerja peringkat cawangan, yang difasilitasi oleh git merge dan git rebase , umumnya lebih disukai. cherry-pick adalah alat yang berharga untuk situasi tertentu, bukan pengganti untuk penggabungan standard atau rebasing.

Berpindah komit

Pertimbangkan senario ini: komit yang dimaksudkan untuk cawangan feature/newsletter yang tersilap mendarat di master . Tangkapan skrin menara berikut (GIT GUI untuk macOS dan Windows) menggambarkan ini, menonjolkan komitmen 26bf1b48 yang salah diletakkan di master :

Sebagai alternatif, baris arahan mendedahkan isu:

 $ git log
komit 26BF1B4808BA9783E4FABB19EC81E7A4C8160194 (Ketua -> Master)
Pengarang: Tobias Günther
Tarikh: Jum 5 Okt 09:58:03 2018 0200

    Halaman pendaftaran surat berita
Salin selepas log masuk

Komit 26bf1b48 tergolong dalam feature/newsletter . Mari gunakan cherry-pick untuk memindahkannya:

 Ciri/Surat Berita Semak $ Git
Beralih ke 'Ciri/Surat Berita' Cawangan
status $ git
Pada ciri cawangan/surat berita
Tidak ada yang boleh dilakukan, pokok kerja bersih
$ git ceri-pick 26bf1b48
[Ciri/Surat Berita 7FB55D0] Halaman Pendaftaran Buletin
 Pengarang: Tobias Günther 
 Tarikh: Jum 5 Okt 09:58:03 2018 0200
 1 fail berubah, 0 sisipan (), 0 penghapusan (-)
 Buat mod 100644 pendaftaran.html
Salin selepas log masuk

git log kini menunjukkan komitmen dalam feature/newsletter :

 $ git log
komit 7fb55d06a8e70fdce46921a8a3d3a9de7f7fb8d7 (kepala -> ciri/surat berita)
Pengarang: Tobias Günther 
Tarikh: Jum 5 Okt 09:58:03 2018 0200

    Halaman pendaftaran surat berita
Salin selepas log masuk

Nota: cherry-pick mencipta salinan komit, meninggalkan utuh asal.

Membersihkan

Komitmen "tidak betul" kekal dalam master . git reset membuangnya:

 Master checkout $ git
Beralih ke Cawangan 'Master'
$ git reset -HARD HEAD ~ 1
Ketua kini berada di 776F8CA Tukar mengenai Tajuk dan Padam Halaman Ralat
Salin selepas log masuk

Menara GUI menggambarkan keseluruhan proses ini.

Alat khusus, bukan pemandu harian

Mengutamakan merge atau rebase apabila mungkin. cherry-pick untuk situasi di mana mereka tidak sesuai, khususnya untuk bergerak individu. Ingat, git cherry-pick pendua berkomitmen; Sentiasa bersihkan selepas itu.

Terokai "Kit Git Advanced" percuma untuk menyelam lebih mendalam ke dalam alat Git, termasuk strategi cawangan, rebase interaktif, reflog, dan submodul.

Selamat memilih ceri, dan jumpa anda dalam ansuran "Advanced Git" seterusnya!

Siri Git Lanjutan:

  • Bahagian 1: membuat komitmen git yang ideal
  • Bahagian 2: Strategi cawangan Git yang berkesan
  • Bahagian 3: Melangkah kerjasama dengan permintaan tarik
  • Bahagian 4: Menyelesaikan konflik gabungan
  • Bahagian 5: Rebasing vs. Penggabungan: Perbandingan
  • Bahagian 6: Menguasai Rebase Interaktif
  • Bahagian 7: Memilih ceri dalam Git ( anda di sini! )
  • Bahagian 8: Memulihkan Hilang Berjalan dengan Reflog

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

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan