Cara menggunakan Github dan Git, menambah credential, dan push repositori

Cara membuat dan menggunakan Versin Control pada git

Saya pengguna PHP, php merupakan bahasa pemrograman server-side yang menggunakan pendekatan berbeda dari kebanyakan bahasa pemrograman. Dalam sepengetahuan saya, PHP pada kebanyakan server web di jalankan PHP FPM, yaitu FastCGI Process Manager yang bertanggung jawab dalam eksekusi program berbasis PHP.

Cara kerjanya berawal dari PHP FPM yang membangun proses mandiri dan di sebut sebagai worker. Worker bertanggung jawab untuk memproses permintaan dari web server (seperti Nginx atau Apache) secara independen. Ketika ada permintaaan web server akan mengirimkan permintaan tersebut ke PHP FPM melalui protokol Fast CGI.

Selanjutnya Process Manager PHP akan meneruskan permintaan tersebut ke worker yang tidak sibuk untuk di proses oleh program. PHP FPM dapat memulai beberapa proces worker yang di jalankan selama stanby, makin banyak proses akan makin cepat eksekusi tugas secara bersamaan.

Saat proces worker menerima permintaan, ia akan memforking proces membaca program php dalam anak proses baru dan mengeksekusi tugas hingga selesai. Anak proses tersebut biasanya akan berhenti setelah eksekusi tugas selesai, tapi PHP Worker dalam FPM dapat membuat lebih dari satu anak proses.

Setiap worker dalam PHP-FPM merupakan proses sistem operasi yang mandiri. PHP-FPM menggunakan model pre-forking, yang berarti ketika PHP-FPM dimulai, sejumlah proses worker dibuat (fork) terlebih dahulu, sesuai dengan konfigurasi (pm.max_children, pm.start_servers, dll.). Proses-proses ini akan terus berjalan di background dan menunggu permintaan (request) dari web server.

Kamu dapat mengatur berapa banyak proses worker dan juga proses anak yang dapat di bangun oleh 1 Proses worker, semakin banyak proses anak yang di bangun maka semakin cepat eksekusi program secara bersamaan ketika mendapatkan traffik yang super duper tinggi. Dengan cara ini PHP dapat mengeksekusi program secaraa bersama-sama dalam satu waktu, jadi eksekusi tugas sangat cepat.

Sangat berbeda dengan nodejs, python, atau bahasa lain yang menggunakan kosnep even driven. Tapi PHP dapat di jalankan seperti bahasa pemrograman even driven yaitu PHP CLI, sangat jarang orang menggunakan PHP cli karena paradigma ngoding PHP itu kebanyakan pake FPM.

Kalau mau pakai mekanisme event driven bisa menggunakan event loop atau menggunakan library ReactPHP yang di mana bisa bersifat Non Blocking I/O, php latar belakang event driven sangat cocok untuk membuat program terjadwal, websocket, socket server, dan sebagainya.

Pengguna PHP jarang menggunakan github sebgai repositori project, akan tetapi sering di pakai untuk project framework ataupun library. Berikut ini adalah cara menggunakan github di windows.

Dalam artikel ini saya akan menjabarkan penggunaan version control versi lokal yaitu git, dan version control versi hosted yaitu github. Untuk lebih memudahkan sebaiknya install terlebih dahulu Git version control untuk offline nya.


Menginstall Git For windows

Agar git berfungsi di teriminal windows kamu harus menginstall program git telebih dahulu, unduh di situs resminya https://git-scm.com/downloads. Jalankan installer dan install seperti pada umumnya.

Proses intallasi akan secara otomatis menambahkan path ke environment variabel windows, sehingga kamu bisa menjalankan perintah git langsung dari terminal. Setelah selesai instalasi , langkah selanjutnya adalah menambahkan akun credential pada windows.

Untuk melihat apakah git sudah ter-install atau belum di PC windows bisa gunakan perintah berikut ini. Pastikan perintah ini memunculkan versi dari github desktop yang kamu pakai.

git --version

Menambahkan akun Github Remote
Tujuanya agar kamu bisa melakukan push ke remote repository github, jadi version controlnya gak hanya di offline saja tapi di online juga.

  • Pada tab Search cari Credential manager, nanti ketemu klik aja. Kayak Control Panel\User Accounts\Credential Manager
  • Klik Add Generic Credential Masukan informasi berikut ini
  • Internet/Network : https://api.github.com/USERNAME_KAMU
  • Username : Isi dengan username github kamu
  • Password : Isi dengan Password github kamu.
  • Simpan

Jangan lupa, berikut ini adalah daftar perintah yang dapat di gunakan pada version control git lokal.

  1. Inisialisasi dan Konfigurasi
    • git init - Menginisialisasi repositori baru.
    • git config --global user.name "Nama Anda" - Mengatur nama pengguna.
    • git config --global user.email "[email protected]" - Mengatur email pengguna.
    • git config --list - Menampilkan konfigurasi Git yang ada.
  2. Menambahkan dan Menghapus File
    • git add - Menambahkan file ke staging area.
    • git add . - Menambahkan semua file yang telah diubah.
    • git rm - Menghapus file dari repositori dan staging area.
  3. Commit
    • git commit -m "Pesan commit" - Membuat commit baru dengan pesan.
    • git commit -a -m "Pesan commit" - Menambahkan dan membuat commit untuk semua file yang dimodifikasi.
  4. Melihat Status dan Riwayat
    • git status - Menampilkan status repositori saat ini.
    • git log - Menampilkan riwayat commit.
    • git diff - Menampilkan perubahan yang belum di-stage.
  5. Branching dan Merging
    • git branch - Menampilkan daftar branch yang ada.
    • git branch - Membuat branch baru.
    • git checkout - Berpindah ke branch yang ditentukan.
    • git merge - Menggabungkan branch yang ditentukan ke branch saat ini.
  6. Remote Repositori
    • git remote add origin - Menambahkan remote repositori.
    • git remote set-url origin https://github.com/username/new-repo.git - Mengubah URL Repositori
    • git remote -v - Menampilkan daftar remote yang ada.
    • git push origin - Mengirim perubahan ke remote repositori.
    • git pull origin - Mengambil perubahan dari remote repositori.
  7. Tagging
    • git tag - Membuat tag baru.
    • git tag -a -m "Pesan tag" - Membuat tag anotasi baru.
    • git push origin - Mengirim tag ke remote repositori.


Cara membuat Repository Lokal ( GIT )

Repositori yang kamu buat adalah repository lokal, jadi gak ada keterkaitanya dengan github remote. Untuk membuat repositori jarak jauh / remote github, kamu bisa gunakan github CLI. Tapi langkah berikut ini adalah cara inisiasi membuat repository lokal.

Untuk membuat repositori baru, kamu harus masuk ke dalam folder di mana tempat project akan di buat. Biasanya kita menggunakan perintah CD untuk bernavigasi ke folder-folder lain dari terminal. Contohnya D:\WorkingApp\BelajarGit, tapi daripada menggunakan teknik yang rumit seperti itu, kita gunakan cara sederhana.

Buatlah folder di manapun pada windows, setelah membuat folder tersebut, ketikan address URL pada File Explorer windows hingga kamu dapat memodifikasi jalur path sekarang. Lalu tambahkan teks cmd pada awalan. Contoh D:\WorkingApp\BelajarGit akan menjadi cmd D:\WorkingApp\BelajarGit, perintah ini akan membuat windows menjalankan terimnal pada lokasi yang telah di tentukan.

Ketikan perintah ini untuk membuat inisiasi git baru, ini akan membuat folder .git

git init

Kamu juga dapat menambahkan sebuah file dokumentasi berupa Readme.md ketikan perintah berikut.

echo "# MyNewRepo" > README.md

Setelah kamu merubah semua data di dalam kode, kamu bisa menambahkan file yang sudah di modifikasi dengan perintah (git add . ), sehingga meta data berubah dalam repositori lokal. Gunakan perintah ini untuk menambahkan semua perubahan, atau kamu bisa tambahkan path file perubahan satu persatu.

git add .
Atau satu per satu
git add nama_file.txt
Jika ingin menambahkan semua file baru ke dalam catatan perubahan bisa pakai perintah.
git add -A

Setelah Kamu menambahkan perubahan ke staging area menggunakan git add, langkah berikutnya adalah menyimpan perubahan tersebut dengan git commit. Perintah ini akan membuat snapshot dari semua perubahan yang ada di staging area dan menyimpannya dalam riwayat Git. Setiap commit harus disertai dengan pesan yang menjelaskan perubahan tersebut. Contohnya:

git commit -m "Menambahkan fitur baru"
Jika kamu ingin menambahkan teks deksripsi yang lebih panjang, bisa ketik saja.
git commit

Selanjutnya kita akan menggunakan hosting github untuk menyimpan repository secara online agar bisa di akses oleh siapa saja, dan memudahkan proses installasi ke lingkungan produksi.


Menginstall Github CLI For Windows

Untuk lebih memudahkan dalam menggunakan repositori github tanpa menghabiskan banyak waktu untuk scrollable, typing, clicking di halaman UI. Menghabiskan lebih banyak waktu, kita bisa menggunakan Github CLI. Cara menginstall github cli ada pada panduan berikut ini.

Download github CLI via tautan berikut ini https://cli.github.com/, pilih install github CLI for windows. Ketuk 2x pada file, pilih next, pilih install sangat sederhana sekali. Setelah selesai klik finish.

Buka terminal, ketikan CMD pada pencarian lalu enter. Ketikan perintah berikut intuk melihat versi dari github yang terinstall di pc kamu.

gh --version

List daftar perintah github ada berikut ini.

  1. Autentikasi
    • gh auth login - Masuk ke akun GitHub Anda.
    • gh auth logout - Keluar dari akun GitHub Anda.
    • gh auth status - Menampilkan status autentikasi saat ini.
  2. Repositori
    • gh repo create - Membuat repositori baru di GitHub.
    • gh repo clone - Mengkloning repositori dari GitHub ke lokal.
    • gh repo view - Menampilkan informasi tentang repositori.
    • gh repo fork - Membuat fork dari repositori yang ada.
    • gh repo delete - Menghapus repositori dari GitHub.
  3. Issue
    • gh issue create - Membuat issue baru di repositori.
    • gh issue list - Menampilkan daftar issue di repositori.
    • gh issue view - Menampilkan detail dari issue tertentu.
    • gh issue close - Menutup issue tertentu.
  4. Pull Request
    • gh pr create - Membuat pull request baru.
    • gh pr list - Menampilkan daftar pull request di repositori.
    • gh pr view - Menampilkan detail dari pull request tertentu.
    • gh pr merge - Menggabungkan pull request tertentu.
  5. Gist
    • gh gist create - Membuat gist baru dari file.
    • gh gist list - Menampilkan daftar gist milik Anda.
    • gh gist view - Menampilkan detail dari gist tertentu.
    • gh gist delete - Menghapus gist tertentu.
  6. Organisasi
    • gh org list - Menampilkan daftar organisasi yang Anda ikuti.
    • gh org view - Menampilkan detail dari organisasi tertentu.
  7. Pengaturan
    • gh config set - Mengatur konfigurasi untuk GitHub CLI.
    • gh config get - Mendapatkan nilai konfigurasi tertentu.
    • gh config list - Menampilkan semua konfigurasi yang ada.


Membuat Repositori Github via CLI

1. Install GitHub CLI jika belum terpasang, bisa scroll kembali ke atas dan download github CLI versi resmi nya.

2. Masuk ke akun GitHub menggunakan CLI:

gh auth login

3. Buat repositori baru di GitHub:

gh repo create  --public --description "Deskripsi repositori"

4. Inisialisasi repositori lokal di direktori yang diinginkan:

mkdir 
cd 
git init

5. Tambahkan file dan buat commit pertama:

echo "# " > README.md
git add .
git commit -m "Initial commit"

6. Hubungkan repositori lokal dengan repositori GitHub:

git remote add origin https://github.com/username/.git

7. Push commit ke repositori GitHub:

git push -u origin master

Repositori GitHub Anda sekarang telah berhasil dibuat dan terhubung!


Mencegah file agar tidak di tambahkan dalam commit

Dalam proses coding kita punya file yang gak boleh di add ketika kita melakukan push ke repository remot, khususnya folder node_modules, file .env atau file lain yang mengandung informasi sensitif. Nah cara agar file ini tidak di push atau di tambahkan ketika kita melakukan git add ., caranya cukup gampang dan simpel sekali.
  • Buatlah file dengan nama .gitignore
  • Tambahkan path folder node_modules/ atau file .env
  • Intinya tambahkan path alamat semua file yang di kecualikan.
node_modules/
wa_credentials/
.env

Selalu amankan file penting dan jangan sampai ter publikasi di github, karena file konfigurasi virtual biasanya mempunyai akses langsung untuk mengakses server, ini di jadikan sebagai celah oleh para cyber attact. Juga jangan pernah mengunggah push node_modules percuma, itu akan menghabiskan banyak kuota data.

Lagian node_modules tiap sistem operasi berbeda-beda, jangan pernah push node_modules ke github ya.

Tagged : #Github #Coding #Tutorial. Tips #Imphen , pada Jumat, 11 Oktober 2024 07:24 WIB