Surat Edaran Sekda Tentang Pemutakhiran Sistem Elektronik di Lingkungan Pemda DIY [penggunaan git pada poin 8] se_557-7231_pemutakhiran_data_sistem_elektronik_di_lingkungan_pemda_diy.pdf
Git merupakan sebuah software yang digunakan untuk melakukan tracking perubahan pada file[s]. Software ini dapat digunakan untuk kolaborasi antar developer (pengembang aplikasi) untuk bekerjasama dalam sebuah base source code pada project tertentu. Selain itu, penggunaan git juga dapat menjaga keamanan source code dari kesalahan perubahan coding dengan memanfaatkan git version control yang merekam semua perubahan file sejak awal git di inisiasikan. Untuk dapat menggunakan git, komputer client & server harus diinstall git terlebih dahulu menggunakan software git yang dapat di-download pada halaman berikut: git.
Ada beberapa platform/hub yang dapat digunakan untuk mengimplementasikan git dan manajemen repositori, seperti Github, Gitlab, Bitbucket, dan lain-lain. Pemda DIY menggunakan open source platform Gitlab yang di-install secara on-premise di server Pemda DIY, yang dapat diakses pada halaman berikut: https://git.jogjaprov.go.id. Untuk pembuatan akun Gitlab dapat menghubungi kami via Discord Diskominfo DIY di https://discord.gg/wDvxxtH9nd.
Branch dalam penggunaan git merupakan sebuah titik/pointer yang merepresentasikan fase dan flow pengembangan aplikasi. Setiap titik branch dapat berisi file/source code yang berbeda namun memiliki satu titik akhir (production) yang biasa disebut sebagai branch main.
Sistem branching di Pemda DIY adalah sebagai berikut:
Ilustrasi Branching
Penggunaan git dapat meningkatkan keamanan source code jika suatu saat terjadi kesalahan dalam proses development dan deployment. Dari sisi OPD/Dinas yang memiliki sistem elektronik, penggunaan git juga dapat mengoptimalkan dokumentasi source code.
Penggunaan git dapat dilakukan dengan dua cara, yaitu via CLI (command line interface) menggunakan terminal/cmd dan git GUI seperti Sourcetree. Namun, pada dokumen manual ini pendekatan yang digunakan yaitu CLI.
Ada beberapa terminologi dasar yang harus dikuasai agar dapat mempermudah kita dalam menggunakan git, seperti:
git push
merupakan proses untuk melakukan upload file[s] ke dalam repositori gitgit commit
merupakan proses untuk menyimpan perubahan file ke dalam penampungan sementara dengan pesan/message perubahan tertentu, sebelum di-upload ke repositori git menggunakan perintah git push
git pull
perintah ini digunakan untuk melakukan update file dengan melakukan download dan replace file yang hanya mengalami perubahangit clone
merupakan proses untuk melakukan replikasi keseluruhan source code ke dalam folder tertentuBerikut langkah-langkah yang dapat Anda ikuti untuk melakukan push (upload) source code Anda ke dalam branch development pada repositori git
cd /path/ke/source/code
)git init
git remote add origin https://git.jogjaprov.go.id/dinas/bidang/project.git
git add .
git commit -m “Initial commit message/any message”
git branch development
git checkout development
git push -f origin development
Jika Anda melakukan perubahan pada source code lokal, Anda dapat melakukan update repositori git ke branch development dengan mengikuti langkah berikut:
cd /path/ke/source/code
)git add .
git commit -m “Perubahan fitur a, perubahan fitur b, etc.”
git push origin development
MR (Merge Request) dapat dilakukan via Web GUI dengan mengakses project Anda di https://git.jogjaprov.go.id/ dengan mengikuti langkah berikut:
Jika folder di dalam server Anda belum terhubung dengan git, Anda dapat menggunakan perintah git clone
untuk meng-copy seluruh source code pada branch tertentu ke dalam folder server Anda. Jika proses cloning berhasil, Anda dapat melakukan perintah git pull
untuk me-replace file-file yang mengalami perubahan.
Berikut langkah-langkah yang dapat Anda ikuti untuk melakuan cloning source code
cd /path/ke/docroot
)git clone -b main https://git.jogjaprov.go.id/opd/project/repo.git .
Berikut langkah-langkah untuk melakukan pull (download & update) source code dari repositori git ke dalam server
cd /path/ke/docroot
)git pull origin main