Cara Menggunakan Git dan Github dalam SCM


MENGGUNAKAN GIT DAN GITHUB (PENGALAMAN PRIBADI)





Git merupakan sebuah aplikasi Verison Control System (VCS). VCS adalah sebuah sistem yang merekam perubahan-perubahan dari sebuah berkas atau sekumpulan berkas dari waktu ke waktu kedalam repository lokal. 

Sementara GitHub adalah sebuah aplikasi berbasis website dengan Version Control System (VCS) yang menyediakan layanan untuk menyimpan repository dengan gratis secara online. Respository merupakan tempat yang dapat Anda gunakan untuk menyimpan berbagai file berupa source code.

VCS memperbolehkan pengguna untuk mengembalikan berkas-berkas ke keadaan sebelumnya, mengembalikan seluruh proyek kembali ke keadaan sebelumnya, membandingkan perubahan-perubahan di setiap waktu, melihat siapa yang terakhir mengubah sesuatu yang mungkin menimbulkan masalah, siapa dan kapan yang mengenalkan sebuah isu dan banyak lagi.

BAGIAN 1 : BEKERJA DENGAN GIT

Inisiasi : Setelah menginstal GIT (Jika belum silahkan unduh di https://git-scm.com/downloads ), Buka Git Bash Atau CMD untuk cek versi GIT.

Dengan perintah “git --version”

 




Login GIT : Masuk kedalam GIT untuk dapat melakukan operasi-operasi GIT

Dengan perintah “git config –global user.email “you@example”” dan “git config –global user.name “your_username””




Membuat repository : Buka folder yang ingin dijadikan repository, klik kanan pilih Git Bash Here. Kemudian buat repository dengan “git init”


Maka folder yang dipilih akan menjadi repository git dengan branch “master”

Melakukan commit : Commit merupakan tindakan untuk memasukan file baru kedalam repsitory ataupun menyimpan perubahan yang terjadi terhadap file di dalam repsitory

Untuk menampilkan status (keadaan) dari repository kita, gunakan perintah “git status”


Untuk menambahkan file diluar repository (untracked), pertama anda harus memindahkan file kedalam folder repository. Kemudian ketikan “git add namafile.ekstensi”, maka file akan masuk kedalam staging area. Lalu “git commit -m “Pesan anda terhadap perubahan yang terjadi”

 







Untuk mengupdate file yang diubah (modified), tidak perlu melakukan “git add” langsung saja commit dengan “git commit -am “Pesan anda terhadap perubahan yang terjadi””. Atau “git restore <file>” untuk membatalkan perubahan (mengembalikan file seperti semula).


Jika terdapat file didalam folder repository yang terhapus / hilang (missing) maka kita harus add kemudian commit file tersebut untuk menyimpan perubahan pada repository. Atau “git restore <file>” untuk membatalkan perubahan (mengembalikan file).


BAGIAN 2 : BRANCH & MERGE

Branch di analogikan seperti cabang, sehingga setiap perubahan yang dilakukan pada branch tidak akan mempengaruhi jalur utama (master/main). Sementara merge adalah menggabungkan suatu branch dengan jalur utama (master/main).

Membuat Branch : Untuk membuat branch dapat dilakukan dengan perintah “git branch <nama branch>”


Melihat Branch dan Pindah ke Branch Lain : Untuk dapat melihat semua branch yang terdapat pada repository gunakan perintah “git branch”. Untuk dapat bekerja pada suatu branch, kita perlu memindahkan head/pointer (tempat kerja kita) ke branch yang dituju. Hal tersebut dapar dilakukan dengan perintah “git checkout <nama branch>”.


*Sehingga, setiap perubahan yang dilakukan hanya akan berpengaruh pada branch mahasiswa.

Melakukan Merge : Untuk melakukan merge, pertama kita harus berada pada branch master, kemudian buat perintah “git merge <nama branch yang ingin dimerge>”


*Maka setiap file yang ada pada branch mahasiswa akan pindah ke branch master.

Menghapus Branch: Setelah dilakukan merge, maka branch yang sudah dimerge (mahasiswa) tidak kita butuhkan. Untuk menghapus branch dapat digunakan perintah “git branch -b <nama brach yang ingin dihapus>”. Dan perintah “git branch -B <nama brach yang ingin dihapus>” untuk menghapus branch yang belum dimerge.


Melakukan Merge Conflict : Jika kita ingin melakukan merge suatu branch ke master, namun kedua branch mengerjakan file dan baris yang sama, maka akan terjadi conflict. Kemudian git akan meminta kita untuk memilih menggunakan script pada branch a atau branch b.

*Misal pada branch mahasiswa, file mahasiswa.html diubah <h3>Data Mahasiswa</h3> menjadi <h1>Data Mahasiswa</h1>, kemudian commit seperti biasa.

Dan pada branch master, file mahasiswa.html juga terjadi perubahan namun berbeda, <h3>Data Mahasiswa</h3> diubah menjadi <h5>Data Mahasiswa</h5>, kemudian commit seperti biasa.

Maka jika dilakukan merge antara branch mahasiswa dan branch master, akan terjadi conflict dan git akan secara otomatis membuka code editor dan menunjukan letak masalahnya.


Untuk mengatasinya kita harus resolve (memilih kode) secara manual di code editor. Disini saya perubahan yang dilakukan pada branch mahasiswa (perubahan menjadi h5), dengan menghapus opsi perubahan pada master (perubahan menjadi h1).


Setelah itu lakukan commit pada file mahasiswa yang telah dimodifikasi


BAGIAN 3 : BEKERJA DENGAN GITHUB (GIT REMOTE)

Inisiasi : Membuat akun GITHUB pada https://github.com/

Membuat Repository Pada GITHUB : Untuk membuat repository pada GIYHUB sangatlah mudah, pilih ”Your repository” lalu pilih “New”. Makan akan muncul tampilan :


Isi keterangan yang diminta lalu pilih “Create repository”

Clone Repository : Clone digunakan untuk memindahkan atau mengkoneksikan repository pada GITHUB (remote) ke GIT (lokal). Untuk dapat melakukan clone, pilih repository yang ingin di clone, pilih “code” pada GITHUB lalu copy link HTTPS yang tersedia.


Lalu buat folder baru pada komputer anda. Kemudian klik kanan, pilih "Git Bash Here"










Pada GIT BASH ketikan “git clone <linkyangdicopy>”.







Maka repository pada GITHUB akan ter-clone ke GIT lokal komputer anda, dan folder repository juga akan tercopy.








Kemudian masuk kedalam folder origin (repository) dengan cara berikut :








Misalnya, kemudian saya menambahkan file baru (index.html) kedalam folder repository (lokal). Maka jika saya lihat statusnya :









Maka file tersebut harus diadd dan dicommit.








Namun commit yang kita lakukan barusan, mendahului origin (repository remote). Maka kita harus kirim perubahan yang terjadi tersebut dengan perintah PUSH "git push"








Maka perubahan akan terkirim ke GITHUB










Sama halnya jika terdapat file yang modified atau deleted

Melakukan PULL : Pull dilakukan jika terjadi perubahan pada repository GITHUB yang dilakukan oleh orang lain sehingga kita tidak dapat melakukan push. Maka kita harus mengupdate repository lokal kita terlebih dahulu dengan melakukan PULL. Pull dapat dilakukan dengan perintah "git fetch" kemudian "git pull". Maka akan repository lokal kita akan menyesuaikan dengan repository di GITHUB. Hal ini bisa saja mengakibatkan conflict yang harus kita selesaikan secara manual nantinya.

Tidak ada komentar:

Posting Komentar

Manajemen Resiko Proyek

 MANAJEMEN RESIKO PROYEK         Manajemen resiko pada proyek meliputi langkah memahami dan mengidentifikasi masalah potensial yang mungkin ...