Rilis Terbesar GitHub dalam Beberapa Tahun. Stacked PRs.

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00GitHub baru saja merilis pembaruan terbesar mereka dalam beberapa tahun terakhir, yaitu stacked PR, cara baru untuk memecah
00:00:05PR besar menjadi bagian-bagian yang lebih mudah dikelola. Di video ini, kita akan membahas apa sebenarnya itu
00:00:10dan mengapa Anda harus menggunakannya. Stacked PR adalah konsep yang kuat namun cukup sederhana. Memecah perubahan kode yang besar
00:00:21menjadi rantai pull request kecil yang saling bergantung. Anda dapat meninjau dan menggabungkannya secara mandiri.
00:00:26Untuk membuat stack, Anda memerlukan dua pull request atau lebih di repositori yang sama di mana pull request pertama
00:00:31atau yang paling bawah menargetkan trunk, biasanya branch default repositori Anda seperti main,
00:00:37kemudian setiap pull request berikutnya menargetkan branch sebelumnya. Ini membentuk rantai ketergantungan di mana
00:00:42setiap branch dibangun di atas branch di bawahnya. Perubahan mendasar seperti tipe bersama atau skema database
00:00:48ditemukan di branch bawah dan kode yang bergantung padanya seperti rute API dan komponen UI
00:00:53berada di branch yang lebih tinggi. Dan Anda mungkin berpikir, bukannya saya selalu bisa melakukan ini?
00:00:58Saya bisa membuat PR ke main lalu membuat PR kedua ke PR tersebut dan merantai PR sebanyak yang saya suka.
00:01:04Dan itu sangat benar karena dalam konteks Git saja, tidak ada yang namanya stacked PR
00:01:09dan Anda sebenarnya hanya merantai PR secara bersamaan. Hanya di dalam GitHub sendiri, stacked PR benar-benar
00:01:16memiliki arti. Tapi fitur ini memberikan keunggulan yang sangat besar. Dan jika Anda ingin tetap mengikuti perkembangan
00:01:22teknologi dan AI, maka berlanggananlah ke Better Stack. Jadi untuk menggunakan stacked PR, sebaiknya Anda
00:01:27menginstal GitHub CLI. Dan dengannya, Anda dapat menjalankan gh stack init lalu mendeklarasikan stack baru Anda.
00:01:33Jadi mari kita buka teks editor kita dan sekarang kita bisa melihat contoh penumpukan beberapa PR.
00:01:38Jadi hal pertama yang akan kita lakukan adalah menjalankan gh stack init setup database. Jadi dalam kasus ini,
00:01:44PR atau branch tersebut akan diberi nama setup database. Dan ini akan menjadi PR dasar yang sekarang
00:01:50akan mengarah ke main. Kemudian kita dapat membuat perubahan. Untuk demo ini, saya hanya akan memasukkan
00:01:54perubahan ke file readme. Jadi saya bilang saya mengimplementasikan database dan kemudian Anda bisa melakukan git add,
00:01:59git commit. Jadi semuanya di sini hanyalah git standar. Dan ketika Anda siap beralih ke kumpulan perubahan berikutnya,
00:02:04Anda kemudian dapat melakukan gh stack, add, lalu branch berikutnya. Kemudian saya dapat membuat lebih banyak perubahan,
00:02:10membuat endpoint API. Mungkin saya ingin menambahkan beberapa poin tambahan di sini. Jadi saya akan melakukan commit pada perubahan ini.
00:02:16Kemudian kita juga dapat menambahkan perubahan kedua. Dan sekali lagi, kita dapat melakukan commit. Jadi seperti yang Anda harapkan,
00:02:20Anda dapat membuat beberapa commit per branch. Dan terakhir, kita akan melakukan gh stack, add setup front end,
00:02:25lalu membuat satu perubahan lagi di sini. Dan sekali lagi, kita melakukan git add dan git commit. Sekarang, begitu kita puas
00:02:31dengan semua perubahan kita dan ingin mendorong semua branch tersebut ke GitHub secara bersamaan,
00:02:36kita dapat menjalankan satu perintah, yaitu gh stack submit. Ini kemudian akan memunculkan UI CLI mini di mana kita dapat meninjau
00:02:42setiap PR dalam stack dan menambahkan judul serta deskripsi jika kita mau. Atau kita bisa
00:02:48langsung menekan tombol next pada masing-masing PR dan mengirimkan tiga PR sekaligus. Jadi Anda dapat melihat ketiga PR tersebut,
00:02:55setup database, API, dan front end semuanya telah didorong ke GitHub sebagai stack dalam satu perintah tunggal.
00:03:02Dan Anda sebenarnya dapat melakukan semua ini tanpa GitHub CLI. Cukup ikuti metode lama
00:03:07dengan menautkan PR secara manual dari main ke PR1 lalu ke PR2. GitHub kemudian akan tetap mendeteksi ini sebagai stack
00:03:14setelah Anda mengunggah semuanya. CLI hanya membuat proses ini jauh lebih mudah dikelola. Sekarang, ingatlah bahwa tidak ada yang
00:03:20berubah di dalam Git itu sendiri. Jika Anda ingin beralih ke branch yang sepenuhnya berbeda yang tidak berada di dalam
00:03:24stack yang sedang Anda kerjakan, Anda bisa melakukannya dan kemudian kembali ke branch di dalam stack tersebut nanti.
00:03:29Jika sekarang kita beralih ke GitHub itu sendiri, Anda dapat melihat kita memiliki ketiga PR kita dan semuanya diajukan
00:03:34sebagai pull request di sini. Dan Anda bisa lihat kita juga punya ikon tumpukan kecil ini untuk memberi tahu kita bahwa
00:03:39terkait dengan sebuah stack. Jika kita membuka PR teratas, yaitu PR yang berada di puncak stack, Anda dapat
00:03:45melihat di bawah sini, kita dapat mengklik merge stack dan Anda juga dapat melihat UI ini. Jadi kita dapat melihat setiap
00:03:49PR sebagai bagian dari stack. Kita bisa memeriksanya dan menyetujuinya satu per satu. Tapi begitu kita puas dengan
00:03:54semua ini, Anda kemudian dapat langsung mengklik merge stack dan setiap PR tersebut akan digabungkan
00:03:59ke main pada waktu yang bersamaan. Anda juga akan memperhatikan bahwa referensi ke stack kini telah diintegrasikan
00:04:03di seluruh bagian GitHub. Jadi Anda dapat melihatnya di halaman pull request, di halaman daftar pull request.
00:04:09Anda juga akan melihatnya pada hal-hal seperti GitHub workflows dan benar-benar di seluruh aplikasi.
00:04:14Jadi jika Anda sedang mengerjakan PR besar dan membutuhkan cara mudah untuk membaginya
00:04:18ke dalam segmen terpisah, Anda tidak perlu lagi menunggu PR terpisah digabungkan ke main
00:04:23dan melakukan semua proses rebase serta merge sendiri. Anda cukup membuat satu stack panjang dan GitHub
00:04:28sekarang sangat siap untuk mengelola semuanya di dalam UI. Dan CLI adalah cara yang sangat bagus
00:04:33untuk mengelolanya secara otomatis. Ada respons yang sangat positif terhadap fitur ini
00:04:38secara online. Dan khususnya bila digunakan dengan AI, saya pikir ini bisa menjadi fitur yang sangat kuat
00:04:43ketika Anda melakukan hal-hal seperti mendesain loop agentic dan membiarkan agen berjalan selama berjam-jam. Agen sekarang dapat membuat
00:04:48stacked PR dan menautkan semua pekerjaan itu bersama-sama daripada membuat PR yang sangat besar atau banyak
00:04:54PR yang benar-benar terpisah. Tapi saya harap kalian menganggap video ini bermanfaat, kawan. Beritahu saya pendapat kalian
00:04:58tentang stacked PR di komentar dan berlanggananlah ke Better Stack untuk tetap mengikuti berita
00:05:02teknologi dan AI terbaru. Terima kasih sudah menonton. Dan tentu saja, sampai jumpa di video berikutnya.

Key Takeaway

Fitur stacked PR dari GitHub memungkinkan pengembang untuk membuat, mengelola, dan menggabungkan rantai pull request yang saling bergantung menggunakan GitHub CLI maupun penautan manual secara serentak.

Highlights

  • Stacked PRs memecah perubahan kode yang besar menjadi rantai pull request kecil yang saling bergantung.

  • Setiap pull request dalam stack menargetkan branch sebelumnya, sementara pull request terbawah menargetkan branch default seperti main.

  • GitHub CLI menyediakan perintah seperti gh stack init dan gh stack submit untuk mengelola dan mengirimkan beberapa PR sekaligus.

  • Pengguna juga dapat menautkan PR secara manual dari main ke PR berikutnya agar GitHub mendeteksinya sebagai stack.

  • Fitur merge stack memungkinkan penggabungan seluruh pull request di dalam stack ke branch main pada waktu yang bersamaan.

Timeline

Konsep Dasar Stacked PR

  • Stacked PR memecah perubahan kode besar menjadi rantai pull request yang saling bergantung.
  • Setiap pull request berikutnya menargetkan branch sebelumnya dalam rantai tersebut.
  • Perubahan mendasar diletakkan pada branch bawah, sedangkan kode yang bergantung berada di branch lebih tinggi.

Pembaruan terbesar GitHub memperkenalkan konsep stacked PR untuk memudahkan pengelolaan kode yang kompleks. Perubahan seperti skema database ditempatkan di branch terbawah, sementara rute API dan komponen UI berada di branch di atasnya. Konsep ini pada dasarnya merantai beberapa PR secara bersamaan di dalam ekosistem GitHub.

Penggunaan GitHub CLI untuk Stacked PR

  • GitHub CLI menyediakan perintah gh stack init untuk mendeklarasikan stack baru.
  • Perintah gh stack add digunakan untuk menambahkan branch berikutnya ke dalam stack.
  • Perintah gh stack submit mendorong seluruh branch dalam stack ke GitHub secara bersamaan melalui UI CLI mini.

Pengembang dapat menggunakan GitHub CLI untuk mempercepat proses pembuatan stacked PR. Serangkaian perintah dijalankan untuk menyiapkan database, endpoint API, dan front end secara berurutan. Setelah semua perubahan siap dan dikomit, satu perintah submit akan mendorong seluruh stack ke GitHub sekaligus.

Pengelolaan dan Penggabungan Stack di GitHub

  • Penautan PR secara manual dari main ke PR1 dan PR2 juga akan dideteksi sebagai stack oleh GitHub.
  • Ikon tumpukan kecil menandakan pull request yang terikat dengan sebuah stack di antarmuka GitHub.
  • Tombol merge stack menggabungkan setiap pull request dalam stack ke branch main pada waktu yang bersamaan.

Pengembang tidak wajib menggunakan CLI karena penautan PR secara manual tetap dideteksi sebagai stack oleh GitHub. Antarmuka GitHub menampilkan ikon khusus dan memungkinkan peninjauan setiap bagian stack secara individual. Fitur merge stack menyederhanakan proses penggabungan akhir tanpa harus melalui rebase dan merge satu per satu secara terpisah.

Community Posts

View all posts