Alur kerja dengan Git dan server jarak jauh

Saya ingin meningkatkan alur kerja kami menggunakan Git dan server pengembangan kami.

Kami telah menyiapkannya sehingga selain server produksi dan pementasan kami, setiap pengembang umumnya menjalankan VM lokalnya sendiri. Kami juga menyimpan kode kami di repositori GitLab.

Di antara para pengembang, ada dua cara utama untuk memasukkan kode ke server: - Dorong ke GitLab, lalu tarik dari server lokal - Jalankan daemon di VM lokal, lalu dorong langsung ke sana

Seperti yang dapat Anda bayangkan, ini berarti kita harus sering melakukan banyak komitmen saat mengerjakan sesuatu. Kami mencoba mengerjakan cabang yang berbeda untuk setiap fitur, namun masih agak rumit. Saya ingin kita mulai mengubah nilai setiap cabang atau fitur menjadi satu komit sehingga log terlihat bagus (tidak perlu menyimpan langkah-langkah perantara).

Namun, sejauh yang saya pahami, setelah Anda mendorong ke server jauh (seperti GitLab), melakukan rebasing karena sangat sulit dan tidak praktis.

Apakah ada alur kerja di mana kami dapat dengan mudah meletakkan file di server kami melalui repo kami, namun tetap mempertahankan cara untuk melakukan rebase tanpa menimbulkan banyak kesulitan?

Terima kasih.


person samanime    schedule 09.02.2015    source sumber
comment
Saya memilih untuk menutup pertanyaan ini sebagai di luar topik karena meskipun ini relatif terhadap alat pengkodean, ini bukan pertanyaan kode spesifik seperti yang diminta oleh faq tetapi diskusi praktik terbaik secara umum.   -  person Seki    schedule 10.02.2015
comment
@Seki Saya mencoba mengerjakan ulang pertanyaan untuk membuatnya sedikit lebih spesifik, karena saya mencari jawaban spesifik untuk masalah tertentu.   -  person samanime    schedule 10.02.2015


Jawaban (1)


Anda dapat menggunakan fungsionalitas Squash commit saat membuat Permintaan Penggabungan. Menghilangkan komit dari Permintaan Penggabungan berarti memadatkan semua komit dalam permintaan ini menjadi hanya satu komit.

masukkan deskripsi gambar di sini

Jika Anda tidak ingin menggunakan antarmuka GitLab untuk itu:

# If you want to merge my-feature-branch to master
git checkout master
git merge --squash my-feature-branch
person vinzee    schedule 02.11.2020