Saya telah menggunakan GitHub untuk beberapa waktu sekarang dan saya biasanya mendorong cabang-cabang fitur saya dan kemudian memulai Permintaan Tarik yang saya gabungkan sendiri. Saya menemukan itu membantu saya melacak di mana saya menggabungkan cabang.
Tetapi baru-baru ini saya telah membaca semakin banyak tentang bagaimana Git bekerja dan saya menyadari bahwa saya dapat menggunakan komit gabungan untuk merujuk ketika saya menggabungkan cabang.
Jadi, apa yang harus saya lakukan ketika menggabungkan cabang-fitur ke master:
Melakukan komit gabungan pada master dan kemudian mendorongnya ke atas ATAU Tekan cabang lokal dan memulai Permintaan Tarik?
Saya telah membaca Memperkenalkan Permintaan Tarik untuk tim 2 orang - menggabungkan permintaan saya sendiri? dan Whats alur kerja dengan 2 orang di proyek dan Haruskah saya membuka permintaan tarik dari cabang di repo resmi atau garpu saya? tapi sepertinya tidak ada yang menjawab apa yang saya cari.
sumber
Jawaban:
mekanisme git-merge:
Menggunakan
git merge feature
saat di master menggabungkan cabangfeature
kemaster
dan menghasilkan amerge-commit
(jika cabang tidak dapat diteruskan dengan cepat) dalam sejarah git. Untuk memaksamerge-commit
dibuat, gunakan--no-ff
opsi denganmerge
.Mekanisme Permintaan Tarik Gabung:
Ketika kami memulai Permintaan Tarik di GitHub, itu menciptakan
GitHub Issue
tempat orang dapat berbicara dan mendiskusikan komitmen dalam PR sebelum menggabungkannya. Ketika PR digabungkan pada GitHub, ia melakukan hal yang persis samagit merge feature
.Apa yang harus saya lakukan?
Jadi, sejauh menyangkut sejarah, tidak ada perbedaan di antara keduanya.
Dan sejauh kontribusi berjalan, kontributor Anda tidak perlu melakukan sesuatu yang berbeda untuk kedua situasi tersebut. Mereka sama (minus obrolan kecil yang menyenangkan).
Praktik Terbaik:
Dan saya tidak dapat menemukan praktik terbaik tetapi logika mengatakan bahwa PR tidak banyak membantu jika hanya ada satu orang di repositori.
@ lxrec dan @amon membantu saya mencapai kesimpulan ini.
sumber
git merge
mungkin tidak merekam komit gabungan jika ia bisa melakukan "fast forward". Untuk memaksa komit gabungan, Anda bisa menambahkan--no-ff
opsi.Seperti yang dikatakan Ashhar , secara teknis dan sejarah tidak ada bedanya. Untuk proyek dengan tim kecil, saya lebih suka menggabungkan langsung daripada langkah ekstra membuat PR. Namun, ketika suatu fitur membutuhkan ulasan / umpan balik atau ketika itu WIP dan lebih dari satu orang akan mengerjakannya, saya cenderung untuk membuka PR dan menambahkan daftar tugas ke deskripsi PR.
Perhatikan bahwa
git merge
mungkin menggunakan fast-forward jika tidak ada perubahan untuk dikuasai, jadi Anda mungkin ingin menggunakannyagit merge --no-ff
. Saya cenderung tidak.Jadi secara ringkas, hanya gunakan PR ketika Anda membutuhkan diskusi. Kalau tidak, hanya bergabung secara langsung.
sumber