Selepas melihat beberapa aliran kerja git, saya merasakan tiada satu pun daripadanya selaras dengan proses semasa saya. Pada masa ini kami mempunyai tiga persekitaran: persekitaran pengeluaran, persekitaran ujian, dan persekitaran tempatan. Pembangun membangun secara tempatan, menolak ke persekitaran ujian, dan penguji menguji dan menerima dalam persekitaran ujian.
Pada masa ini, kami hanya mempunyai pasukan kecil lebih daripada sedozen orang. Kami tidak mempunyai proses keluaran versi tertentu, jadi kami tidak mempunyai versi tertentu untuk dikeluarkan pada hari tertentu atau tugasan yang perlu diselesaikan. pada masa apa kerja semua orang lebih seperti melakukan Pembetulan Terkini, selepas menyelesaikan fungsi kecil atau membetulkan pepijat kecil, tolaknya terus ke cawangan pembangunan Tugas itu diarahkan kepada penguji untuk menguji persekitaran ujian. terus bergabung berkembang menjadi induk dan lepaskannya! Proses ini tidak mengapa apabila terdapat sedikit orang, ia akan melibatkan bahawa saya mempunyai fungsi yang sedang dalam talian dan satu lagi fungsi masih dalam peringkat Master dan membangunkan tidak boleh digabungkan, dan saya boleh hanya tunggu ujian tamat...
Berdasarkan model cawangan fungsi, nampaknya masalah di atas boleh diselesaikan untuk melakukan fungsi atau membetulkan pepijat, menggabungkannya ke dalam pembangunan untuk ujian, dan menggabungkannya ke dalam induk selepas lulus ujian masa, tuan boleh ditolak ke persekitaran pengeluaran pada bila-bila masa. Tetapi masalah lain ialah tahap ahli dalam pasukan tidak sekata Semua orang tidak boleh diberi kebenaran untuk bergabung menjadi master Seseorang perlu menyemak kod dengan kata lain, operasi penggabungan menjadi master hanya boleh dilakukan oleh satu atau a Tidak semua orang, tetapi mungkin terdapat banyak cawangan yang dihasilkan setiap hari Walaupun mengubah suai baris teks mungkin merupakan satu cabang secara manual ini adalah beban kerja yang besar ia tidak mencukupi...
Adakah terdapat sebarang cara untuk membenarkan penguji melihat pengubahsuaian anda tepat pada masanya untuk ujian, pada bila-bila masa dan di mana-mana sahaja! Jadilah selektif! Gabungkan kod ke dalam persekitaran pengeluaran?
Ia sangat serupa dengan aliran kerja kami, tetapi kami telah menetapkan masa tertentu untuk mengeluarkan versi Selepas versi dikeluarkan, pembangun akan membangunkan cawangan mereka sendiri, dan kemudian apabila bergabung, mereka akan menghantar permintaan gabungan. kepada penyelia, dan penyelia akan bersetuju untuk membangunkan cawangan, dan kemudian menguji juga membangunkan, jika tidak ada masalah, pergi ke cawangan utama.
Saya rasa soalan anda adalah perkara biasa Contohnya, jika A membuat fungsi, dia mesti mengujinya sendiri dan tidak ada masalah sebelum dia boleh menolak cawangan berkembang dan kemudian menguji sama ada fungsi keseluruhannya selesai versi ini, dia perlu melalui proses ini. Jika terdapat kod yang sedang diuji pada pembangunan, tetapi terdapat pembetulan pepijat yang mendesak untuk ditolak, biasanya terdapat dua kaedah Satu ialah memilih kod yang sedang diuji pada pembangunan, dan satu lagi adalah menggunakan cawangan kecemasan.
git cherry-pick
Arahan ini boleh menggabungkan komit secara selektif. Untuk ujian pemberitahuan, anda boleh mengkonfigurasi GitHub untuk menghantar e-mel secara automatik ke alamat e-mel yang ditentukan selepas penggabungan.
git cherry-pick