Pertanyaan Bagaimana mengubah cabang dasar dari permintaan tarik?


Saya membuat permintaan tarik pada proyek di GitHub ke cabang terpencil tertentu. Setelah beberapa waktu, cabang jarak jauh dihapus.

Bagaimana saya bisa mengubah permintaan tarik untuk menunjuk ke cabang lain (khusus master)?


76
2018-04-09 23:15


asal


Jawaban:


Diperbarui: seperti catatan Michael di bawah ini, ini sekarang mungkin:

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

Klik Edit tombol dengan judul permintaan tarik untuk mengungkapkan pemilih cabang dasar.

An animated example of how to change a pull request's base branch.


Jawaban lama

Anda tidak bisa. Buat saja permintaan tarik baru.


74
2018-04-09 23:18



Meskipun tidak terdokumentasi, Anda dapat melakukannya menggunakan API GitHub REST.

Penggunaan API dijelaskan dalam jawaban ini, tetapi pada dasarnya Anda dapat mengeluarkan permintaan REST seperti ini:

$ curl --user "tom" \
       --request PATCH \
       --data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
       https://api.github.com/repos/fred/fabproj/pulls

Ini akan mengubah permintaan tarik yang diwujudkan oleh masalah 15 pada fred/fabproj repo untuk menggunakan new-branch cabang di tom/fabproj garpu.

Edit: Catatan: menurut komentar, di atas hanya untuk melampirkan a baru tarik permintaan ke masalah yang ada.


36
2017-08-16 09:07



Mulai 08/15/2016 ini sekarang mungkin secara native via Github:

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


18
2017-08-15 19:08



Saya bisa mengubah cabang target. Memang benar bahwa kita tidak dapat mengedit nama cabang target dalam PR. Tetapi triknya adalah mengubah nama cabang menjadi sesuatu yang lain, dan mengganti nama cabang target Anda dengan yang ada di PR.

Contoh: PR saya memiliki nama seperti "dev-4.9". Ada cabang lain yang diberi nama "qa-4.9". Yang saya inginkan adalah bahwa "qa-4.9" harus menjadi cabang target PR. Langkah-langkah: 1 1) Ubah nama cabang "dev-4.9" menjadi sesuatu yang lain "original-dev-4.9"

git checkout dev-4.9
git branch -w original-dev-4.9
git push origin original-dev-4.9

2) Ubah nama cabang "qa-4.9" menjadi "dev-4.9".

git checkout qa-4.9
git branch -w dev-4.9
git push origin dev-4.9 -f (force push to write entire branch to reflect dev-4.9)

3) Segarkan url PR dan lihat komit dalam qa-4.9 yang tercermin di sana.


2
2017-11-28 14:15



Daripada kehilangan semua komentar yang terhubung dengan PR ke cabang yang dihapus:

  1. buat cabang lagi secara lokal dengan nama yang sama dan isi yang sama dengan cabang yang ingin Anda gabungkan;
  2. dorong cabang tersebut untuk membuat ulang cabang jarak jauh; lalu
  3. membuka kembali PR ke cabang.

Misalnya, Anda memiliki PR ke branch1, yang dihapus. Anda sekarang ingin menggabungkan untuk menguasai dan mempertahankan komentar pada PR yang ada:

  1. tuan git checkout
  2. git pull
  3. git checkout -b branch1
  4. git push
  5. buka kembali PR Anda ke branch1
  6. saat digabungkan ke branch1, bergabung untuk menguasai.

Ini agak sedikit ngawur, tetapi jauh lebih baik daripada menghancurkan banyak komentar.


1
2018-02-03 03:48



Github mendukung ini sekarang. Tombol edit di ujung kanan PR.


0
2018-02-06 07:27



Dalam teori...

Anda seharusnya digunakan github api.

contoh: edit permintaan tarik dengan keriting

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

Anda dapat menemukan daftar data yang diisi dalam github developer doc

contoh: ganti nama permintaan tarik saya

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9

tetapi dalam praktek ...

sepertinya ladang head/label dan head/ref tidak dapat diedit. Untuk saat ini, satu-satunya solusi tampaknya bahwa Amber


-2
2018-03-27 15:26