00:00:00Halo semuanya. Nama saya Scott Chacone. Saya CEO Git Brother.
00:00:02Saya akan melakukan demo singkat tentang CLI Git Brother yang baru.
00:00:06Jadi, jika Anda terbiasa dengan baris perintah (command line),
00:00:08dan ingin menggunakan Git Brother secara terprogram,
00:00:11CLI Git Brother baru ini adalah alat yang sangat keren.
00:00:14Mari kita mulai. Oke, kita akan mulai dengan sebuah repositori.
00:00:18Saya punya proyek Rust kecil di sini,
00:00:20dan kita akan mencoba alur kerja dari CLI Git Brother ini.
00:00:23Alat ini pada dasarnya adalah pengganti langsung untuk Git. Setelah terinstal,
00:00:27Anda punya perintah "but". Ini akan jadi antarmuka utama Anda, bukan Git.
00:00:32Anda bisa menjalankan "but" atau "but status". Ini versi singkatnya.
00:00:35Dan ini akan menampilkan statusnya.
00:00:38Hasilnya sangat mirip dengan output dari "git status".
00:00:41Bisa kita lihat ada empat file yang dimodifikasi.
00:00:44Ada beberapa yang belum dilacak (untracked) dan beberapa yang sudah diubah.
00:00:47Ada file baru dan file modifikasi, namun pada output "but",
00:00:50statusnya hanya akan menampilkan daftar berisi empat perubahan ini.
00:00:55Ini adalah hal-hal yang telah Anda ubah. Anda bisa langsung melakukan commit,
00:00:59sesuai keinginan Anda. Jadi, kita bisa jalankan "but commit".
00:01:02Ini akan membuat branch sementara. Mari kita coba.
00:01:05Jika kita jalankan "but status" lagi, semua perubahan itu sudah ada dalam satu tempat.
00:01:11Kita juga bisa jalankan "but status -f" atau "--files".
00:01:15Ini akan menampilkan file-file yang telah dimodifikasi dalam commit ini.
00:01:18Tapi katakanlah kita tidak ingin menggabungkan semuanya ke dalam satu commit.
00:01:21Beberapa terkait Clod, satu file readme,
00:01:24dan yang lainnya adalah perubahan pada kodenya. Ini sebenarnya tiga perubahan terpisah,
00:01:28kan? Jadi kita ingin menjadikannya tiga commit terpisah. Mari kita batalkan.
00:01:31Kita bisa membatalkan commit dengan menjalankan
00:01:36uncommit. Sekarang kita kembali. Kita masih punya branch sementara di sini.
00:01:40Kita bisa menghapusnya jika mau, tapi mari kita gunakan saja.
00:01:44Saya akan menamainya ulang. Saya beri nama branch-nya "Clod stuff".
00:01:48Sekarang saya punya branch baru dan bisa melakukan staging ke sana,
00:01:53seperti "git add". Kita bisa ketik: but stage G0 dan H0.
00:01:58Ini adalah kode singkat (short code) untuk file-file tersebut.
00:02:01Anda juga bisa mengetik seluruh path file-nya jika mau,
00:02:04tapi kami mencoba membuatnya sangat mudah dan cepat. Sekarang jika saya cek,
00:02:08file-file ini sudah masuk ke branch "Clod stuff" dan saya bisa commit dengan -o,
00:02:12yang berarti hanya untuk hal-hal yang sudah di-stage. Jika saya jalankan commit,
00:02:15itu akan meng-commit semua yang di-stage ke sini dan semua yang tidak di-stage.
00:02:18Ini akan lebih masuk akal saat kita punya lebih banyak branch,
00:02:20tapi mari kita commit ini. Sekarang kita punya branch dengan satu commit di atasnya
00:02:25dan beberapa perubahan yang belum di-stage.
00:02:28Nah, di sinilah letak keunikannya karena tidak seperti Git,
00:02:31katakanlah saya ingin memasukkan readme ini,
00:02:34saya ingin commit readme ini dan push untuk membuat PR (Pull Request).
00:02:37Biasanya, jika saya sedang berada di branch "Clod" ini,
00:02:41saya harus melakukan stash pada branch ini, menambahkan readme, commit,
00:02:44lalu mem-push-nya untuk pull request.
00:02:45Tapi di Git Brother, kita bisa memiliki branch yang paralel.
00:02:50Jadi saya bisa ketik "but branch new readme" dan Anda bisa lihat saya punya branch baru
00:02:55yang terpisah, dan saya bisa melakukan staging pada file tersebut.
00:03:00Saya bisa langsung meng-commit file tersebut.
00:03:01Jika saya lihat file yang berubah,
00:03:07saya punya commit ini dengan dua hal terkait Clod tadi.
00:03:09Dan saya punya branch readme dengan satu perubahan readme. Sekali lagi,
00:03:11saya bisa melakukan hal yang sama. Saya bisa gunakan perintah commit
00:03:17-c untuk "create", jadi saya bisa membuat branch baru dengan cara ini. Mari kita lihat
00:03:21apa yang sebenarnya kita ubah di sini. Saya agak lupa. Oh,
00:03:25perintah "read" ini. Oke.
00:03:27Itu akan mengambil hal terakhir yang belum di-commit dan
00:03:32memungkinkan Anda membuat branch baru dan meng-commit ke sana.
00:03:35Sekarang kita bisa lihat ada tiga branch.
00:03:38Semuanya independen satu sama lain.
00:03:39Semua perubahan tersebut masih ada di direktori kerja kita.
00:03:42Kita sama sekali tidak mengubah direktori kerja kita.
00:03:44Kita hanya membuat commit di dalam memori.
00:03:46Sekarang saya bisa jalankan "but push" dan akan muncul pertanyaan: apa yang ingin Anda push?
00:03:50Apakah Anda ingin mem-push semuanya? Masing-masing punya satu commit yang belum dipush.
00:03:53Atau hanya satu saja? Mari kita push yang readme saja.
00:03:57Katakanlah hanya itu yang kita anggap sudah siap saat ini.
00:03:59Kita tinggal pilih yang itu dan alat ini akan mem-push-nya.
00:04:02Jika kita lihat statusnya lagi,
00:04:03kita bisa melihat yang ini sudah ter-push melalui status di sini.
00:04:06Sedangkan yang lainnya masih bersifat lokal.
00:04:08Git Brother punya kekuatan besar dalam mengelola banyak branch secara bersamaan.
00:04:11Tapi ia juga bisa melakukan stacked branches (branch bertumpuk).
00:04:13Mari kita lihat contoh pembuatan sesuatu yang baru
00:04:17berdasarkan salah satu commit yang telah kita lakukan,
00:04:19dengan membuat stacked branch dari sana.
00:04:20Jadi kita bisa menggabungkan yang bawah dan terus mengerjakan yang atas.
00:04:23Katakanlah kita ingin membuat stacked branch.
00:04:26Kita ingin perintah "read" ini ditinjau dan digabungkan,
00:04:30tapi kita ingin tetap bisa mengerjakannya.
00:04:32Ini saat yang tepat untuk menggunakan stacked branch daripada branch independen
00:04:35karena ada ketergantungan. Cara melakukannya adalah dengan mengetik:
00:04:38but branch new -a sebagai titik jangkar (anchor point),
00:04:42yaitu "SC read command" ini. Dan kita beri nama "SC read more".
00:04:46Sekarang jika kita lihat,
00:04:48kita bisa melihat branch ini bertumpuk di atasnya.
00:04:50Mari kita edit bagian ini.
00:04:52Kita bisa lihat ini mengambil 10 pesan dan menampilkannya.
00:04:57Mari kita ubah menjadi 20 pesan. Kita ubah juga yang ini.
00:05:02Bisa kita lihat ada perubahan dan ada ikon kunci karena ini
00:05:09mengubah file yang sudah kita commit di tempat lain.
00:05:11Jadi file ini terkunci ke commit tertentu.
00:05:13Kita hanya bisa meng-commit ini di atasnya karena ia mengubah kode
00:05:16yang diperkenalkan di sana. Kita bisa melihat perubahannya dengan perintah diff,
00:05:20cara yang bagus untuk melihat potongan kode (hunks) mana yang berubah, dan kita bisa
00:05:25langsung meng-commit-nya. Oke.
00:05:28Untuk menunjukkan betapa mudahnya memindahkan commit,
00:05:32saya akan tunjukkan caranya,
00:05:33kita jalankan status -f untuk melihat semua filenya.
00:05:37Mari kita bagikan ini. Kita sudah lihat perintah push,
00:05:40yang akan mem-push ke remote yang Anda miliki,
00:05:42tapi kita juga bisa mengetik PR untuk membuka pull request. Kita bisa tentukan,
00:05:46mana dari branch ini yang ingin dibuatkan pull request?
00:05:48Mari kita buka pull request untuk semuanya.
00:05:50Alat ini akan membuka editor untuk masing-masing dan bertanya,
00:05:54apa deskripsi PR-nya? Saya buat simpel saja.
00:05:57Sekarang semua PR sudah terbuka. Setelah terbuka,
00:06:01kita bisa melihat nomor-nomor di atas ini. Nomor satu, nomor dua,
00:06:04ini adalah nomor PR dan pesannya.
00:06:06Kita gunakan pesan yang sama setiap kalinya.
00:06:08Kita juga bisa melihat dengan perintah -v,
00:06:10yaitu verbose, untuk melihat URL dari masing-masing PR.
00:06:12Mari kita lihat salah satu.
00:06:14Ini adalah PR yang mengubah readme dan bisa kita lihat hanya ada
00:06:18satu commit dan hanya satu perubahan pada file readme itu. Sangat terisolasi.
00:06:23Ini yang versi bertumpuk (stacked).
00:06:24Jika kita lihat, apa yang dilakukannya adalah membuka tumpukan.
00:06:28Yang pertama, PR paling bawah menargetkan main, kan dari yang ini.
00:06:30Dan yang kedua, yang bisa kita buka di sini, menargetkan PR yang pertama.
00:06:35Jadi ini benar-benar melakukan stacked branch dengan benar.
00:06:39Sekarang mari kita lihat apa yang terjadi saat kita melakukan integrasi.
00:06:41Mari kita buka pull request readme ini. Kita bilang, oke,
00:06:43ini sudah bagus. Saya akan merge. Sekarang ini sudah ada di upstream.
00:06:46Dan jika kita jalankan "but pull --check", itu akan memeriksa statusnya.
00:06:49Kita juga bisa jalankan "but fetch", ini akan menjalankannya untuk Anda.
00:06:55Alat ini juga akan melakukan fetch di latar belakang sesekali.
00:06:57Anda mungkin melihatnya saat kita menjalankan beberapa perintah.
00:07:00Muncul tulisan "memulai proses latar belakang", tapi kita bisa lihat yang satu ini telah terintegrasi.
00:07:02Sudah terintegrasi di upstream. Jadi saat kita jalankan "but pull",
00:07:06yang dilakukan adalah mengambil informasi baru tersebut.
00:07:10Ini akan melakukan rebase pada branch kita yang lain dan menghapus
00:07:13branch yang sudah terintegrasi ini. Bisa dilihat branch tersebut sudah dihapus secara lokal.
00:07:16Jadi saat kita lihat, branch itu sudah selesai,
00:07:19sedangkan yang ini sudah di-rebase sehingga sudah diperbarui, dan kita bisa
00:07:22mem-push-nya kembali jika mau. Dan kapan saja,
00:07:25jika ingin kembali menggunakan Git biasa, Anda bisa ketik "but tear down".
00:07:29Ini akan memilih salah satu branch Anda.
00:07:33Bisa dilihat alat ini akan memilih branch pertama tempat Anda berada,
00:07:36namun Anda tetap memiliki semua branch yang tadi kita kerjakan.
00:07:39Hanya saja Git biasa cuma bisa berada di satu branch. Sekarang Anda kembali di satu branch.
00:07:43Anda bisa gunakan "setup" dan "tear down" untuk masuk-keluar dari mode Git Brother.
00:07:47Jika ingin mengerjakan banyak branch atau sekadar pakai alat commit Git normal.
00:07:50Tapi sekali lagi, meski dalam mode Git Brother, Anda tetap bisa pakai sebagian besar
00:07:55perintah Git. Anda bisa ketik "git show" pada salah satu commit. Hasilnya sama.
00:08:00Anda bisa ketik "git log", hasilnya sama, tetap berfungsi.
00:08:04Semua perintah baca (reading commands) ini berfungsi normal. Show, log, semuanya.
00:08:08Hanya masalah pengelolaan commit saja yang kami bantu atur. Dalam hal ini,
00:08:13Anda juga bisa langsung melakukan checkout pada sesuatu dan Git Brother akan mendeteksinya
00:08:16lalu otomatis menghentikan apa yang sedang dikerjakannya. Dan lagi-lagi,
00:08:21semuanya akan kembali normal.
00:08:24Hal terakhir yang ingin saya tunjukkan adalah semua perintah ini punya versi --json.
00:08:26Jika ingin menjalankan status dengan --json, Anda bisa melakukannya.
00:08:30Jika ingin menjalankan "show" pada sebuah commit, misalnya,
00:08:34hampir semua perintah memilikinya, dan Anda bisa lihat semua perintah dengan "but help".
00:08:41Hampir semuanya punya opsi --json atau -j.
00:08:44Yang artinya Anda bisa membuat skrip dengan mudah. Bahkan yang menarik,
00:08:48Anda bisa melakukan "diff" dan ia akan memberikan versi JSON dari diff tersebut,
00:08:52menurut saya ini sangat keren.
00:08:56Itulah perkenalan singkat tentang Git Brother dan apa yang bisa dilakukannya dibanding Git biasa.
00:09:00Sekali lagi, Anda bisa gunakan ini di repositori Git mana pun.
00:09:01Cukup jalankan "but setup", lalu mulai gunakan perintah-perintah tadi.
00:09:05Anda bisa dapat output JSON, mengelola banyak branch sekaligus,
00:09:08mengelola stacked branch, integrasi GitHub, serta manajemen PR.
00:09:12Semuanya tinggal pakai, jalankan perintah "but", dan selesai.
00:09:15Kapan pun ingin kembali ke Git,
00:09:17meskipun sebagian besar perintah Git masih berfungsi di lingkungan ini,
00:09:20Anda tinggal jalankan "tear down" atau checkout branch, dan semuanya akan bersih kembali.
00:09:24Silakan dicoba sekarang juga.
00:09:26Buka [gitbrother.com/cli](https://www.google.com/search?q=https://gitbrother.com/cli) untuk mengunduh dan mulai mencobanya.
00:09:29Mampirlah ke Discord kami dan beri tahu pendapat Anda. Terima kasih.
00:09:33for you. So go ahead and try it out today.
00:09:35You can go to get brother.com/cli and download it and start playing with it.
00:09:39Drop into our discord and let me know what you think. Thanks.