Bagaimana cara mengubah permintaan tarik di GitHub untuk mengubah cabang target untuk digabungkan?

117

Saya memiliki permintaan tarik yang meminta penggabungan menjadi master dari cabang saya, tetapi pemilik ingin saya mengubah permintaan untuk menggabungkan ke cabang yang berbeda dari cabang saya.

Apakah ini mungkin? Apa solusi yang mungkin?

Moriarty
sumber

Jawaban:

138

Pembaruan Agustus 2016: Ubah cabang dasar Permintaan Tarik yang akhirnya memungkinkan untuk mengubah cabang itu.
(Dan ini menutup masalah 18 , yang berusia 3 tahun dan memiliki 1500+ komentar)

Setelah Anda membuat permintaan tarik, Anda dapat memodifikasi cabang dasar sehingga perubahan dalam permintaan tarik dibandingkan dengan cabang yang berbeda.

masukkan deskripsi gambar di sini


Jawaban asli:

Karena PR tidak dapat diedit dalam istilah cabang (lihat di bawah), cara termudah adalah dengan:

  • buat cabang baru lokal di atas cabang Anda saat ini
  • dorong cabang baru itu
  • buat PR baru dengan tujuan yang tepat.
  • tutup PR sebelumnya
  • mereferensikan permintaan tarik "lama" dari yang baru; misalnya. Supersedes #123(seperti yang dikomentari di bawah oleh Rivera )

(jawaban asli, hanya berlaku saat membuat PR )

Anda dapat mencoba dan memilih cabang dasar lain , seperti dalam " Mengubah jangkauan cabang dan tempat penyimpanan tujuan " (Mengklik Edittombol di bagian atas halaman PR)

https://github-images.s3.amazonaws.com/help/pull_requests/pull-request-review-edit-branch.png

Cara termudah untuk berpikir tentang rentang cabang adalah ini:

  • yang cabang dasar adalah di mana Anda berpikir perubahan harus diterapkan,
  • yang cabang kepala adalah apa yang Anda ingin diterapkan.

Mengubah repositori dasar mengubah siapa yang diberi tahu tentang permintaan penarikan.
Setiap orang yang dapat mendorong ke repositori dasar akan menerima pemberitahuan email dan melihat permintaan tarik baru di dasbor mereka saat mereka masuk lagi.

Jika Anda memilih sebagai cabang dasar yang diinginkan oleh pemelihara asli (pemilik), PR Anda harus bergabung dari cabang Anda (tidak berubah) ke cabang dasar yang baru.

VonC
sumber
@Moriarty Saya tidak memiliki PR yang sedang diproses, tetapi sebagai pembuat PR, Anda tidak melihat tombol Edit setelah PR Anda dikirim?
VonC
3
Ya, tapi itu hanya memungkinkan saya mengubah nama PR. Saya berasumsi Anda tidak dapat langsung mengubah gabungan PR menjadi cabang saat mengirimkan. Saya ingin tahu apakah ada alternatif (cara menggabungkan PR ke cabang lain apa pun).
Moriarty
2
Ada permintaan fitur terbuka untuk dapat mengubah cabang target PR: github.com/isaacs/github/issues/18
Jason Antman
1
Ada baiknya juga untuk mereferensikan pull request "lama" dari yang baru (mis. Supersedes # 123).
Rivera
1
@Shimmy Saya rasa tidak, bukan dari GUI web.
VonC
6

Jika cabang Anda (masih) tersedia dari jarak jauh, Anda tidak perlu membuat cabang baru secara lokal.

  • Pilih cabang Anda (yang menanggung perubahan yang Anda kirimkan) baik langsung dari menu drop-down atau di bawah "# Branch" ( https://github.com/account/project/branches ).

  • Klik "Permintaan tarik baru". Ini memungkinkan Anda memilih cabang basis (target) baru.

Berikut tangkapan layar dari antarmuka baru Github: masukkan deskripsi gambar di sini

Saya dapat mengirimkan PR cabang UXterhadap cabang / cabang mana pun --- tidak masalah apakah saya sebelumnya mengirimkan PR untuk cabang UX.

mkcor
sumber
1
Tombol hijau "Permintaan Tarik Baru" dipindahkan ke halaman web daftar PR, di sudut kanan atas.
Jempol Emas
Saya tidak yakin apa yang Anda maksud dengan "dipindahkan" tetapi, ya, Anda dapat menemukan tombol hijau "Permintaan tarik baru" di kedua tempat.
mkcor
4

Anda sekarang dapat: https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

"Sekarang Anda dapat mengubah cabang dasar dari permintaan penarikan terbuka. Setelah membuat permintaan penarikan, Anda dapat memodifikasi cabang dasar sehingga perubahan dalam permintaan penarikan dibandingkan dengan cabang yang berbeda. Dengan mengubah cabang dasar dari permintaan penarikan asli Anda daripada membuka yang baru dengan cabang dasar yang benar, Anda akan dapat menyimpan pekerjaan dan diskusi yang berharga. "

MK.
sumber
2

Anda harus membuat permintaan tarik baru seperti yang disebutkan di gibhub doc LINK

  1. Pilih pertama New Pull request
  2. di compare page, sisi kiri pilih yang target branchingin Anda dorong dan sisi kanan pilihbranch you already pushed .
  3. Perbarui detail untuk yang baru Anda PR .
  4. Buat PR
Ani Thettayil
sumber
-4

Sangat sederhana. Cukup klik PR yang ingin Anda ubah cabang dasarnya. Temukan tombol "Tutup permintaan tarik" di dekat bagian bawah halaman web. Sekarang Anda dapat membuat ulang PR baru secara normal - pastikan Anda memilih cabang dasar yang benar kali ini.

Jempol Emas
sumber
Saya tidak mengerti mengapa ini tidak disukai. Ini bekerja dengan sangat baik untuk saya.
Wilt
3
Saya tidak merendahkan suara. Tetapi saya melihat bahwa jawaban ini hanya mengulangi jawaban lama yang ada (dan melakukannya dengan kualitas yang lebih rendah).
Lars Blumberg
@LarsBlumberg Jika Anda membaca dengan cermat, Anda akan melihat bahwa ini bukan pengulangan, meskipun mungkin ada beberapa tumpang tindih. Bagi saya, jika (n -1) langkah, alih-alih n langkah, dapat menyelesaikan masalah, ada baiknya berbagi :-)
Jempol Emas
2
Jika langkah (n-1) mengabaikan langkah-langkah bermanfaat seperti menutup PR lama dan mereferensikan ke yang baru, saya tidak melihat nilai dalam mengulangi subset langkah dari jawaban yang sudah ada. Terutama ketika daftar langkah yang lebih sedikit lebih sulit untuk dibaca karena kurangnya format yang tepat.
Lars Blumberg