Materi Git Software
Pada materi kali ini kita akan belajar mengenai Git.Secara singkat, Git adalah tools atau control system yang gratis dan dapat digunakan oleh programmer dan developer untuk menjalankan sebuah proyek kecil maupun besar. Langsung saja ikuti langkah-langkah berikut:
1. Cara Menginstal Git
Ada 3 cara menginstal Git:
- Cara Instalasi Git di Linux.
- Cara Instalasi Git di Windows.
- Konfigurasi Awal yang Harus dilakukan Setelah Menginstal Git.
1. Menginstal Git di Linux
- sudo apt install git
- sudo apt-get install git
- yum install git
3. Konfigurasi Awal yang Harus Dilakukan
- git config --global user.name "(nama)"
- git config --global user.email contoh@bagus.com
- git config --list
2. Membuat Repository Git
3. Membuat Revisi
Tiga Kelompok Kondisi File dalam Git
- git add index.php
Membuat Revisi Pertama
- git add index.php
- git add about.php
- git add contact.php
- git add index.php about.php contact.php
- git add *.php
- git add .
- git commit -m "Commit pertama"
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Belajar Git - Belajar</title>
- </head>
- <body>
- <p>Hallo Semua, Saya sedang belajar Git</p>
- </body>
- </html>
- git add index.php
- git commit -m "Commit Kedua"
4. Melihat Catatan Log Revisi
Terdapat 2 perubahan yang telah dilakukan pada gambar diatas.
Log yang Lebih Pendek
Untuk menampilkan log yang lebih pendek, kita bisa menambahkan argumen --oneline.
- git log --oneline
Maka akan menghasilkan output:
- fa8cb6 Commit Kedua
2b54c2 Commit Pertama
Log pada Nomer Revisi/Commit
Untuk melihat log pada revisi tertentu, kita bisa memasukan nomer revisi/commit.
- git log (no commit)
Maka akan menghasilkan output:
- commit fa8cb6c5fed6e75c5d735ad7a702edac722f759b
Author: Bagus Alvin
Date: Fri Oct 28 01:36:35 2022 -0700
Log pada File Tertentu
Untuk melihat revisi pada file tertentu, kita dapat memasukan nama filenya.
- git log index.php
Maka akan menghasilkan output:
- commit fa8cb6c5fed6e75c5d735ad7a702edac722f759b
Author: Bagus Alvin
Date: Fri Oct 28 01:36:35 2022 -0700
Commit Kedua
- commit 2b54c227c965966b6ca2539b4cab1d62bab725ab
Author: Bagus Alvin
Date: Fri Oct 28 01:20:04 2022 -0700
Commit Pertama
Karena file index.phpsudah direvisi sebanyak dua kali.
Log Revisi yang dilakukan oleh Author Tertentu
Misalkan dalam repositori dikerjakan oleh banyak orang. Maka kita dapat melihat revisi apa saja yang dilakukan oleh orang tertentu dengan perintah berikut.
- git log --author='Bagus Alvin'
5. Melihat Perbandingan Revisi menggunakan "git diff"
- git diff 2b54c227c965966b6ca2539b4cab1d62bab725ab
- + <p>ini kode yang ditambahkan</p>
- - <i>ini kode yang dihapus</i>
- - <span>ini kode sebelum diubah</span>
- + <span>ini kode sesudah diubah</span>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Belajar Git - Belajar</title>
- </head>
- <body>
- <p>Hallo Semua, Saya sedang belajar Git</p>
- </body>
- </html>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Belajar Git - Belajar</title>
- </head>
- <body>
- <p>Hallo Dunia!, Saya sedang belajar Git</p>
- </body>
- </html>
Perintah git diff akan membandingkan perubahan yang baru saja dilakukan dengan revisi/commit terakhir.
Melihat Perbandingan pada File
- git diff index.php
Melihat Perbandingan antar Revisi/Commit
- git diff <nomer commit> <nomer commit>
- git diff 2b54c227c965966b6ca2539b4cab1d62bab725ab fa8cb6c5fed6e75c5d735ad7a702edac722f759b
Perbandingan Antar Cabang (Branch)
- git diff <nama cabang> <nama cabang>
6. Perintah Membatalkan Revisi
Membatalkan Perubahan
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Belajar Git - Belajar</title>
- </head>
- <body>
- <p>Hallo Dunia!, Saya sedang belajar Git</p>
- </body>
- </html>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Belajar Git - Belajar</title>
- </head>
- <body>
- <p>Hello Dunia!, Saya sudah belajar Git</p>
- <p>Belajar git menyenangkan bukan?</p>
- </body>
- </html>
- git checkout index.php
Membatalkan Perubahan File yang Sudah dalam Kondisi staged
- git add index.php
- git reset index.php
- git checkout index.php
Membatalkan Perubahan File yang Sudah dalam Kondisi Commited
- git checkout 464c8fff80e844c1fd961efe3de64f69e32faf87 index.php
- git reset index.php
- git checkout 464c8fff80e844c1fd961efe3de64f69e32faf87
- git checkout HEAD~3 index.html
- git revert -n <nomer commit>
7. Menggunakan Percabangan untuk Mencegah Konflik
Cara Membuat Cabang Baru
- git branch opsi_halaman
Percabangan di repositori Git
- $ git branch
opsi_halaman
* master
- git branch latihan
- git checkout latihan
Selanjutnya kita lakukan commit.
- git add latihan.php
- git commit -m "( membuat file latihan.php/isi bebass )"
- git checkout master
- git checkout belajar
Menggabungkan Cabang
- git checkout master
- git merge belajar
Mengatasi Bentrok
- git checkout belajar
- git add latihan.php
- git commit -m "( ubah isi )"
- git add latihan.php
- git commit -m "( ubah isi latihan.php di cabang master )"
- $ git merge halaman_login
Auto-merging login.html
CONFLICT (content): Merge conflict in latihan.php
Automatic merge failed; fix conflicts and then commit the result.
- git add latihan.php
- git commit -m "perbaiki konflik".
Menghapus Cabang
- git branch -d belajar
8: Perbedaan Git checkout, Git Reset, dan Git Revert
Git Checkout
- git checkout 2b54c227c965966b6ca2539b4cab1d62bab725ab
- git checkout -b nama_cabang <nomer_commit>
Git Reset
"Hati-hati! Perintah ini membuat kita tidak bisa kembali lagi ke masa depan. Mau tidak mau, kita harus menulis ulang sejarah."
Dampak git reset
- --soft akan mengebalikan dengan kondisi file dalam keadaan staged
- --mixed akan mengebalikan dengan kondisi file dalam keadaan modified
- --hard akan mengebalikan dengan kondisi file dalam keadaan commited
- git reset --soft 2b54c227c965966b6ca2539b4cab1d62bab725ab
"Hati-hati! Jangan lakukan git reset pada repositori yang sudah di bagikan ke publik, karena dapat merusaknya".
Git Revert
- git revert ( nama file )
Membuat Repository di Github
Menambahkan dan Menghapus Remote
- https://github.com/bagusalvin879/belajar.git
- git@github.com:bagusalvin879/belajar.git
- git remote add github https://github.com/bagusalvin879/belajar.git
- git remote rename github kantor
- github adalah nama lama
- kantor adalah nama baru
- git remote remove github
- github adalah nama remote yang akan dihapus.
Mengirim Revisi ke Remote Repository
- git push github master
- github adalah nama remote.
- master adalah nama cabang tujuan.
- git add .
- git commit -m "menambahkan beberapa revisi"
Mengambil Revisi dari Remote Repository
- git fetch [nama remote] [nama cabang]
- git pull [nama remote] [nama cabang]
Mengambil Revisi dengan git fetch
- git merge master github/master
Mengambil Revisi dengan git pull
Berikan nama file dengan register.php dan isi dengan apa saja.
- git pull github master
Clone Remote Repository
- git clone https://github.com/bagusalvin879/belajar.git [nama dir]
- https:// adalah URL repository remote, kita juga bisa menggunakan SSH.
- [nama dir] (opsional) adalah nama direktory yang akan dibuat. Jika kita tidak berikan nama direktori, maka akan otomatis menggunakan nama repository.
- git clone https://github.com/bagusalvin879/belajar.git
- Referensi Artikel https://www.petanikode.com/git-untuk-pemula/.
Komentar
Posting Komentar