Dasar Git
Git adalah perangkat lunak pengontrol versi atau proyek manajemen kode perangkat lunak yang diciptakan oleh Linus Torvalds , yang awalnya ditujukan untuk pengembangan kernel Linux.
Git merupakan salah satu dari version control software dari sekian banyak version control seperti RCS, CVS, SVN, Bazaar, Mercurial. Git juga salah satu dari version control yang distributed atau sering disebut dengan DVCS (Distributed Version Control Systems). Git adalah version control yang paling sering saya gunakan untuk pekerjaan saat ini.
####Hampir semua pekerjaan dapat dilakukan secara lokal
Selama ada program Git terinstall dikomputer maka komputer lain / server seperti tidak dibutuhkan saat itu. Untuk dapat menikmati fitur version control dari Git ini dan tidak sedang bekerja bersama orang lain maka sebuah komputer saja cukup untuk ini. Data Git yang ada pada komputer merupakan repository , hal ini berarti semua data terdapat pada repository tersebut, dengan kata lain, yang ada pada komputer tersebut juga merupakan server. Selama pengerjaan secara lokal dilakukan tentunya internet tidak diperlukan saat itu.
####Tiga Bagian Penting Git
Beberapa waktu lalu saya mendapati ada tahap staged pada Git, namun pada saat itu sepengetahuan saya tidak ada command untuk men-_stage_ berkas. Setelah membaca dokumentasi tentang Git kembali, ternyata memang ada 3 tahap yaitu .git directory, working directory, staging area.
#####.git directory Pada sebuah proyek yang terintegrasi dengan Git maka pada root proyek tersebut akan memiliki sebuah direktori .git. Didalam direktori itulah semua data mengenai version control disimpan, direktori ini juga yang akan ada pada komputer lain pada saat clone dilakukan.
#####working directory Pada sebuah version control software maka akan ada yang disebut dengan istilah versi, dan itu akan terdapat beberapa versi. Working directory merupakan sebuah versi dari beberapa versi yang ada pada version control. Berkas-berkas yang ada pada working directory merupakan berkas yang akan digunakan langsung untuk proses pengerjaan proyek (edit, hapus, tambah).
#####staging area Adalah sebuah berkas yang berada pada .git direktori, yang menyimpan informasi tentang apa saja yang berubah untuk di-_commit_.
Jadi secara singkat, alur tentang dasar git ini adalah sebagai berikut:
- Berkas-berkas pada working directory telah mendapatkan perubahan.
- Berkas-berkas tersebut di-stage, hingga kemudian git mengetahui perubahaan apa saja yang terjadi.
- Pada tahap stage perubahan direkam secara sementara, perlu dilakukan commit untuk menyimpan perubahan secara permanen dan kembali informasi ini disimpan pada staging area.
#git #versionControl #openSource