Git Shared Repository

AndriawanAndriawan
3 min read

Sebagai programmer pasti tidak asing dengan yang namanya Git SCM. Karena Git SCM sangat populer dan banyak digunakan oleh programmer sebagai tool untuk mengontrol version dari code. Sebelum adanya Git, ada tool sejenis dengan nama SVN, sayangnya SVN memiliki keterbatasan salah satunya ketika Remote Repository SVN berada di tempat yang tidak bisa diakses. Keterbatasan itu diatasi oleh Git dengan fitur decentralize-nya. Oleh karena itu, pada tulisan ini saya akan memperkenalkan fitur menarik untuk digunakan yang berhubungan juga dengan fitur kerennya Git yaitu decentrelize-nya.

Tulisan ini adalah bagian dari Git SCM Series, sehingga untuk bisa membaca secara menyeluruh dan berkesinambungan, alangkah lebih baik bisa membaca secara urut dari link series berikut.

Dari yang saya amati, sampai saat ini masih banyak programmer yang berfikir bahwa untuk bisa mendistribusikan code menggunakan Git, harus menggunakan layanan seperti Github, Gitlab, Bitbucket atau yang menggunakan self-manage git server seperti Gogs atau sejenisnya. Tapi ternyata, membuat git remote repository bisa menggunakan local folder pada device atau VPS dengan SSH. Berikut ini adalah langkah-langkahnya.

Shared Repository di Local Drive

Sedikit mengklarifikasi istilah dalam Git seperti repository pada Git adalah kumpulan snapshoot dari perubahan-perubahan pada directory workspace yang di-commit oleh developer. Commit itu sendiri merupakan cara developer melakukan snapshoot pada setiap perubahan yang terjadi pada workspace. Pada section ini kita coba membuat Shared Repository dengan hanya membedakan directory.

Sebelum masuk ke bagaimana cara men-setup shared repository, kita perlu mempersiapkan dulu folder yang berisi git yang akan kita push ke Shared Repository dengan langkah seperti berikut.

Buat folder baru dan tambahkan file README.md pada folder tersebut.

$ mkdir /tmp/sample
$ cd /tmp/sample
$ echo "# Initial Git Workspace" > README.md

Init folder tersebut sebagai git dan commit file README.md tersebut.

$ git init .
$ git add .
$ git commit -am "Initialize project"
$ git status

Setelah git status dijalankan, maka pada terminal akan tampil informasi current branch dimana defaultnya adalah branch main.

Sederhananya, membuat local Shared Repository itu sama seperti saat mempersiapkan code yang akan dipush ke repository pada langkah sebelumnya. Tapi bedannya, pada saat initial git pada folder tersebut, perlu menambahkan option --bare. Seperti berikut.

$ mkdir -p /opt/repos/code.git
$ cd /opt/repos/code.git
$ git init --bare

Berdasarkan official documentation mengenai option --bare.

Create a bare repository. If GIT_DIR environment is not set, it is set to the current working directory.

Bahwa option --bare digunakan untuk membuat Shared Repository baru yang masih kosong. Jika GIT_DIR tidak diset, maka git akan men-set repository baru tersebut pada direktori dimana cursor berada saat perintah git init dijalankan.

Selanjutnya hanya perlu meset Shared Repository config pada folder code yang sudah dipersiapkan sebelumnya. Dengan langkah seperti berikut.

$ cd /tmp/sample
$ git remote add origin /opt/repos/code.git
$ git push origin main

Jika kita coba melakukan clone dari folder git repository tersebut, maka kita akan langsung mendapatkan file README.md yang sudah kita commit pada folder /tmp/sample.

$ cd /tmp/
$ git clone /opt/repos/code.git code
$ ls code
README.md
0
Subscribe to my newsletter

Read articles from Andriawan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Andriawan
Andriawan