Saat saya membuka permintaan tarik di GitHub .
Semua komit sejak permintaan terakhir saya dan semua yang baru secara otomatis ditambahkan ke permintaan ini .
Saya tidak bisa mengontrol komit mana yang ditambahkan dan mana yang tidak.
Ketika saya mencoba membuka permintaan penarikan lainnya, saya mendapatkan pesan kesalahan "Ups! Sudah ada permintaan penarikan".
Apakah ada cara mudah untuk membuka beberapa permintaan tarik tanpa harus dipusingkan dengan baris perintah?
git
github
pull-request
torourke
sumber
sumber
Cara termudah yang saya temukan untuk melakukan ini adalah dengan perintah hub ( https://github.com/defunkt/hub ).
Dari cabang topik Anda ("fitur" dalam contoh ini) yang Anda inginkan untuk membuat permintaan tarik, Anda dapat menjalankan:
(ingatlah untuk mendorong cabang Anda dulu!)
Dan itu akan membuka permintaan tarik baru di GitHub untuk "YOUR_USER: feature".
Jika Anda telah membuat masalah di GitHub, Anda bahkan dapat melampirkan permintaan tarik ke masalah yang ada (sesuatu yang tidak dapat Anda lakukan dari UI web):
sumber
Anda dapat membuat Permintaan Tarik (PR), dengan membuat cabang terpisah untuk pekerjaan Anda.
Contoh:
Anda melakukan pembayaran dari master cabang ke pekerjaan cabang-1.
Anda membuat beberapa komit di pekerjaan cabang-1 sebagai work-1-commit-1 dan work-1-commit-2
Sekarang Anda membuat PR dari pekerjaan-1 hingga master. Kode Anda dapat ditinjau dengan melihat file diubah dari PR.
Sekarang, untuk pekerjaan lebih lanjut Anda akan melakukan checkout dari pekerjaan cabang-1 ke pekerjaan cabang baru-2
Anda membuat beberapa komit di pekerjaan cabang-2 sebagai work-2-commit-1 dan work-2-commit-2
Sekarang Anda membuat PR dari pekerjaan-2 ke pekerjaan-1. Kode Anda dapat ditinjau dengan melihat file diubah dari PR.
Di sini perubahan file hanya akan memiliki kode baru yang Anda tulis setelah work-1-commit-2.
sumber
Anda sebenarnya BISA melakukan ini tanpa membuat cabang lain, tetapi ini membutuhkan sedikit bermain-main.
Berikut langkah-langkahnya:
(other / master) A -> B -> C -> D -> E (your / master)
Katakanlah Anda ingin menarik B dan C dalam satu permintaan, dan D & E di tempat lain.
Seperti yang saya lihat, permintaan tarik melihat komit C sebagai titik cabang. Atau sesuatu.
sumber
Saat Anda pertama kali membuat permintaan tarik, jika Anda membuka dua formulir terpisah untuk permintaan tarik baru, ini akan memungkinkan Anda untuk membuatnya selama mereka menunjuk ke cabang yang berbeda untuk digabungkan. Misalnya, saya dapat membuat dua Permintaan terpisah, satu untuk digabungkan menjadi master dan satu lagi untuk digabungkan ke dalam pengujian.
sumber
Saya baru mengenal Git dan GitHub dan memiliki pertanyaan yang sama dengan OP.
Saya telah menemukan solusi, yang mungkin tidak tersedia pada saat OP.
Situasi: Anda memiliki 3 perubahan, dan Anda ingin masing-masing dibuat dari sebelumnya, dan masing-masing memiliki pull request (PR) sendiri.
Masalah: Saat Anda membuat PR pertama yang mencoba menarik develop menjadi master, semuanya terlihat baik-baik saja, tetapi kemudian setelah Anda membuat perubahan untuk PR kedua, dan menggabungkannya (menggunakan cabang yang sama) semua perubahan ada di PR yang sama .
Solusi Mini: Buat cabang baru
Sekarang Anda mendorong kode ke GitHub dan membuat PR, tetapi defaultnya adalah Tarik dari mini_change_2 ke master, kecuali master belum memiliki perubahan dari PR pertama, jadi ini mencakup semua perubahan dari PR1 dan PR2.
Solusi Terbaik: Tentukan cabang mana yang Anda gabungkan di PR2.
Jangan hanya menerima default saat membuat PR kedua, katakanlah Anda akan menarik mini_chnage_2 ke Develop, ini hanya akan menampilkan perubahan di mini_change_2
Sekarang buat mini_change_3 cabang baru dan PR itu ke mini_change_3.
Masalahnya muncul begitu Anda mulai menggabungkannya ... tapi itu latihan yang berbeda.
sumber