Manajemen Repository dengan GitHub Command Line Interface (CLI)

GitHub CLI merupakan tool manajemen GitHub berbasis Command Line Interface (CLI) yang dapat digunakan melalui terminal atau skrip dan bersifat open source. Penggunaan GitHub CLI dapat menghemat waktu ketika bekerja pada command line dan menghindari peralihan context.

Instalasi GitHub CLI
Untuk menginstalasi GitHub CLI, salinkan perintah berikut pada terminal dari Linux Debian atau Ubuntu yang menggunakan aptsebagai manajemen paketnya.
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh

Sedangkan perintah instalasi untuk distribusi Linux lainnya dapat diakses melalui alamat https://github.com/cli/cli/blob/trunk/docs/install_linux.md.

Sebaliknya tata cara instalasi GitHub CLI untuk sistem operasi Windows dan macOS dapat diakses melalui alamat https://github.com/cli/cli#installation.

Sebelum dapat melakukan manajemen repository melalui GitHub CLI maka diperlukan otentikasi login terlebih dahulu ke GitHub. Mekanisme otentikasi yang didukung oleh GitHub CLI adalah Login with a web browser dan Paste an authentication token. Pada tutorial ini akan dicontohkan otentikasi menggunakan Paste an authentication token dengan terlebih dahulu melakukan pembuatan Personal Access Token.

 

Membuat Personal Access Token
Pembuatan Personal Access Token dapat dilakukan dengan mengakses situs GitHub melalui browser dan kemudian melakukan login menggunakan akun yang telah dimiliki. Setelah berhasil login, pilih foto profil yang terletak dipojok kanan atas dari situs GitHub dan pilih Settings.

Pada halaman yang tampil navigasi ke sidebar sebelah kiri bawah dan pilih pada <> Developer Settings. Selanjutnya akan tampil halaman Developer Settings. Pilih Personal access Tokens pada sidebar sebelah kiri.

Pada halaman Personal access tokens yang tampil, pilih Generate new token.

Apabila tampil halaman konfirmasi untuk memasukkan password dari akun GitHub, silakan melengkapi dan menindaklanjuti proses tersebut. Selanjutnya akan tampil halaman New personal access token yang memuat form isian yang harus dilengkapi terkait pembuatan token yaitu meliputi:

  • Note: masukkan deskripsi untuk token yang dibuat, sebagai contoh “belajar-github-cli“.
  • Expiration: pilih masa kadaluarsa dari token yang dibuat, sebagai contoh 30 days.
  • Select scopes: pilih cakupan, atau izin, yang ingin diberikan token ini. Cakupan minimal yang harus dipilih adalah ‘repo‘, ‘read:org‘ dan ‘workflow‘. Cakupan repo akan otomatis terpilih ketika memilih workflow.

Tekan tombol Generate token untuk memproses pembuatan token.

Tampil hasil dari pembuatan token.

Klik icon Copy untuk menyalin dan menyimpan token tersebut ke lokasi yang dapat ditentukan secara mandiri sehingga dapat digunakan untuk proses otentikasi GitHub CLI. Penyalinan tersebut diperlukan karena nilai dari token tersebut tidak akan dapat terlihat kembali.

 

Otentikasi Login GitHub CLI

Proses otentikasi ke GitHub dilakukan dengan mengeksekusi perintah berikut:

gh auth login

Tampil pesan konfirmasi “What account do you want to log into?” yang meminta pengguna untuk memilih akun yang digunakan untuk login yaitu GitHub.com atau GitHub Enterprise Server.

Sebagai contoh digunakan Github.com dan merupakan pilihan yang telah terseleksi secara default sehingga cukup dilakukan penekanan tombol Enter untuk melanjutkan.

Tampil pesan konfirmasi “What is your preferred protocol for Git operations?” yang meminta pengguna untuk memilih protokol yang digunakan untuk operasi Git yaitu HTTPS atau SSH.

Sebagai contoh menggunakan HTTPS dan merupakan pilihan yang telah terseleksi secara default sehingga cukup dilakukan penekanan tombol Enter untuk melanjutkan.

Tampil pesan konfirmasi “How would you like to authenticate GitHub CLI?“yang meminta pengguna untuk memilih metode otentikasi GitHub CLI yang akan digunakan yaitu Login with a web browser atau Paste an authentication token.
Sebagai contoh dipilih Paste an authentication token dengan cara menekan tombol panah bawah pada keyboard sehingga pilihan tersebut terseleksi dan tekan Enter untuk melanjutkan.

Tampil input dengan pesan “Paste your authentication token:” yang meminta pengguna memasukkan token otentikasi yang telah dibuat sebelumnya.

Salin dan tempel (Copy & Paste) token yang telah dibuat sebelumnya dan tekan Enter untuk melanjutkan.

Terlihat pesan “Logged in as … ” yang menunjukkan operasi otentikasi login telah berhasil dilakukan.

 

Membuat Git Local Repository

Pada tahap ini akan dilakukan operasi pembuatan Git local repository yang konten didalamnya akan di push ke GitHub repository baru menggunakan GitHub CLI. Operasi ini diawali dengan membuat direktori untuk Git local repository, sebagai contoh bernama “belajar-github-cli” dengan menggunakan perintah mkdir dan berpindah ke dalam direktori tersebut menggunakan perintah cd.

Eksekusi perintah git init untuk menginisialisasi direktori saat ini (belajar-github-cli) sebagai Git local repository.

Pesan yang tampil mengindikasikan bahwa pembuatan local repository telah berhasil dilakukan.

Saat ini Git local repository masih kosong. Untuk itu akan dilakukan pembuatan file dengan nama baca.txt menggunakan perintah echo dengan argumen “Mari belajar GitHub CLI” dan redirection > sehingga tersimpan ke dalam file dengan nama tersebut.

Memverifikasi hasil pembuatan file tersebut dengan mengeksekusi perintah ls -la .

Terlihat file berhasil dibuat.

Untuk menampilkan isi yang terdapat pada file tersebut dapat dilakukan dengan mengeksekusi perintah cat baca.txt.

Terlihat isi dari file telah sesuai dengan yang ditentukan sebelumnya.

Eksekusi perintah git add baca.txt untuk melakukan staging file tersebut.

Terakhir lakukan commit file tersebut dengan pesan yang mendetailkan operasi yang dilakukan melalui eksekusi perintah git commit -m "Initial commit file baca.txt".

 

Membuat GitHub Repository

Untuk membuat repository dapat dilakukan dengan sintak perintah berikut:

gh repo create [<name>] [flags]

<name> merupakan nama dari repository yang akan dibuat. Sedangkan flags merupakan options atau parameter spesifik yang dapat diberikan ketika pembuatan repository yang dibuat seperti jenis repository apakah public (--public) atau private (--private) , -s atau --source-name untuk menentukan lokasi lokal repository yang digunakan sebagai sumber, -r atau --remote untuk menentukan nama remote untuk repository baru yang dibuat.

Sebagai contoh untuk membuat private repository bernama “belajar-github-cli” dengan lokasi sumber direktori dimana saat ini (.) berada dan nama remote upstream maka lakukan eksekusi perintah berikut:

gh repo create belajar-github-cli --private --source=. --remote=upstream --push

Terlihat pesan yang mengindikasikan bahwa GitHub repository telah berhasil dibuat dan konten Git local repository telah di push ke GitHub repository tersebut.

 

Menampilkan informasi GitHub Repository
Untuk menampilkan keseluruhan repository yang dimiliki di GitHub dapat dilakukan dengan mengeksekusi perintah berikut:

gh repo list

atau jika ingin memfilter untuk menampilkan repository dengan nama tertentu, sebagai contoh “belajar-github-cli” dapat mengeksekusi perintah gh repo list | grep belajar-github-cli.

 

Menghapus GitHub Repository
Untuk menghapus repository tertentu dapat dilakukan dengan sintak perintah berikut:

gh repo delete [<repository>] --confirm

<repository> merupakan nama repository yang akan dihapus. Sedangkan --confirm digunakan untuk menghapus tanpa prompting. Sebagai contoh untuk menghapus repository dengan nama “belajar-github-cli” maka perintahnya adalah:

gh repo delete belajar-github-cli --confirm

Terlihat pesan yang mengindikasikan penghapusan repository berhasil dilakukan. Apabila muncul pesan HTTP 403: Must have admin rights to Repository . (https://api.github.com/repos ….. ) This API operation needs the “delete_repo” scope, maka eksekusi perintah gh auth refresh -s delete_repo untuk mengotorisasi penghapusan yang memerlukan cakupan delete_repo.

Tampil pesan yang memperlihatkan one-time code dan lakukan penekanan Enter untuk membuka github.com melalui browser. Selanjutnya akan tampil kotak dialog browser dengan halaman login Github. Silakan melengkapi otentikasi login dan menindaklanjuti proses yang tampil serta mengkonfirmasi proses otorisasi terkait cakupan delete_repo sehingga operasi penghapusan repository dapat dilakukan. Setelah proses tersebut selesai dilakukan maka lakukan eksekusi kembali perintah:

gh repo delete belajar-github-cli --confirm

Untuk memverifikasi keberhasilan penghapusan repository tersebut maka lakukan eksekusi perintah gh repo list | grep belajar-github-cli

Apabila tidak terlihat luaran (output) dari hasil eksekusi perintah tersebut maka repository telah berhasil dihapus.

 

Logout dari GitHub CLI

Untuk keluar atau logout dari penggunaan GitHub CLI maka lakukan eksekusi perintah gh auth logout sehingga akan menghapus konfigurasi otentikasi host GitHub. Pada pesan konfirmasi “Are you sure you want to log out of github.com account ….?” yang tampil, tekan tombol y dan Enter pada keyboard untuk menindaklanjuti proses tersebut.

Terlihat proses logout telah berhasil dilakukan.

Disarankan untuk mengekplorasi lebih dalam terkait fitur-fitur lain yang dimiliki oleh GitHub CLI melalui dokumentasi atau manual yang telah disediakan. Dokumentasinya dapat diakses melalui alamat berikut: https://cli.github.com/manual/.

Semoga bermanfaat. Apabila terdapat pertanyaan, silakan mengomentari posting ini atau mengirimkan melalui email di admin[at]iputuhariyadi.net. Terimakasih.

0

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.