Tutorial GIT pada UBUNTU #2: Inisiasi Git pada local repository




Local repository merupakan istilah yang dapat digunakan untuk menyebut local direktori kita yang berisikan proyek dengan integrasi teknologi git. Dalam sebuah device dapat memiliki beberapa local repository tergantung proyek yang dikerjakan.

 

1. Inisiasi Git

Untuk mendeklarasikan sebuah directory local sebagai sebuah local repository maka kita harus menginisiasi local directory tersebut dengan menjalankan salah satu dari commant berikut :
git init .                      --->> apabila kita berada didalam directory yang ingin kita inisiasi
git init ~/nama/directory       --->> apabila kita menginisiasi directory yang berada di ~/nama/directory
setelah menjalankan command diatas maka output yang akan keluar adalah sbb:
Initialized empty Git repository in /home/ubuntu/nama/directory/.git/
output tersebut menunjukan bahwa directory tersebut telah terinisiasi git, dan didalamnya terdapat folder .git folder ini merupakan folder yang akan digunakan oleh git untuk menyimpan data yang diperlukan sehingga harap berhati-hati karena apabila folder ini terhapus maka semua history dari proyek tersebut akan hilang. Sampai disini kita telah memiliki local repository yang siap digunakan untuk mencatat/menyimpan semua perubahan dari file/folder yang ada didalamnya.

 

2. Penerapan system version control pada local repository

2b. First Commit

Disini kita akan mencoba mengolah file dan folder didalam local repository agar tercatat/tersimpan kedalam system version control git. Agar mudah dalam memahaminya maka persiapkan dahulu beberapa file dan folder didalam local repository yang telah kita buat tadi, disini telah disiapkan beberapa file dan folder sebagai berikut:
directory/
├── folder1
│   └── konten1.txt
├── login.txt
├── logout.txt
└── ujicoba.txt
Untuk mengecek status dari folder dan file yang telah kita tambahkan tersebut dapat menggunakan command berikut
git status
dan output dari command tersebut adalah sebagai berikut:
On branch master

No commits yet

Untracked files:
  (use "git add ..." to include in what will be committed)

 folder1/
 login.txt
 logout.txt
 ujicoba.txt

nothing added to commit but untracked files present (use "git add" to track)
Dari output diatas maka kita tau bahwa saat ini kita berada di branch master dan tulisan yang berwarna merah menunjukkan bahwa terdapat file dan folder yang sudah ditambahkan tetapi belum ditandai dan belum disimpan di version control. Berikut ini adalah 3 tingkatan kondisi dari file/folder dalam git:

   1. Modified
Modified adalah kondisi dimana file/folder baru ditambahkan atau dimodifikasi tetapi belum ditandai dan belum disimpan pada sistem version control. Untuk mengecek file/folder yang berada dalam kondisi ini maka dapat menggunakan command git status diatas, dan apabila nama dari file/folder berwarna merah seperti diatas ini menunjukan file/folder tersebut berada dalam kondisi modified.

   2. Staged
Staged merupakan kondisi dimana file/folder sudah ditandai, tetapi belum tercatat dalam sistem version control. Untuk merubah dari kondisi Modified ke kondisi staged maka dapat menggunakan salah satu dari command berikut:
git add -A            --->>> ini digunakan untuk menambahkan semua file yang ada dalam repositori tersebut
git add file/folder   --->>> ini digunakan apabila hanya ingin menambahkan file/folder tertentu
setelah menjalankan command diatas maka kita dapat mengecek status dari file/folder kita dengan kembali menjalankan command git status. Sehingga didapat output yang berbeda dari sebelumnya, berikut ini contoh outputnya:
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)

 new file:   folder1/konten1.txt
 new file:   login.txt
 new file:   logout.txt
 new file:   ujicoba.txt
Perubahan warna dari yang sebelumnya berwarna merah dan sekarang menjadi berwarna hijau meunjukkan bahwa file/folder tersebut telah berada dalam kondisi Staged.

   3. Commited
Kondisi ini merupakan kondisi dimana file/folder sudah ditambahkan atau tercatat dalam version control. Untuk menjalankannya dapat menggunakan command dibawah ini:
git commit -m "isi sesuai deskripsi"
berikut contoh commit dan outputnya:
ubuntu@ubuntu:~/nama/directory$ git commit -m "first commit"
[master (root-commit) 260d7c4] first commit
 4 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 folder1/konten1.txt
 create mode 100644 login.txt
 create mode 100644 logout.txt
 create mode 100644 ujicoba.txt
sampai disini maka kita telah berhasil menyimpan file dan folder yang telah kita buat kedalam control version git. dan apabila kita melakukan command git status maka hasilnya adalah seperti dibawah ini, yang menunjukan bahwa dalam local repository tersebut sudah tidak ada file/folder yang belum tersimpan/tercatat kedalam git version control.
On branch master
nothing to commit, working tree clean

2b. Second Commit

Untuk contoh second commit kita dapat melakukan perubahan pada beberapa file yang ada. Pada contoh dibawah ini kita akan mengedit isi dari file login.txt dan konten1.txt. berikut isi dari file yang telah diedit:
ubuntu@ubuntu:~/nama/directory$ cat login.txt 
ini perubahan
di file login
oleh branch master
ubuntu@ubuntu:~/nama/directory$ cat folder1/konten1.txt 
ini perubahan
file konten 1
di branch master
kemudian cek kembali kondisi dari file yang telah kita edit dengan command git status dapat dilihat bahwa file yang diedit masuk kedalam list kondisi modified (nama file ada didalam list berwarna merah). berikut output nya:
ubuntu@ubuntu:~/nama/directory$ git status 
On branch master
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

 modified:   folder1/konten1.txt
 modified:   login.txt

no changes added to commit (use "git add" and/or "git commit -a")

selanjutnya rubah kondisinya menjadi staged. berikut ini hasil dari git status setelah melakukan git add -A:

ubuntu@ubuntu:~/nama/directory$ git status 
On branch master
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

 modified:   folder1/konten1.txt
 modified:   login.txt
setelah file tersebut masuk kedalam kon disi staged maka lakukan commit agar file-file tersebut tersimpan/tercatat kedalam git version control.
ubuntu@ubuntu:~/nama/directory$ git commit -m "second commit"
[master d7ee184] second commit
 2 files changed, 6 insertions(+) 
Sampai disini kita telah memiliki 2 buah record revisi/commit. Untuk pembahasan git lainnya dapat dilihat pada link berikut:

Source: www.petanikode.com

Best Regards,
Heri Sulistiyo

Komentar