Basic Git
Tags: beginners, tutorial, git
Published: 2022-04-06 01:23:07

## Apa itu git ?

Git adalah salah satu tool yang sering digunakan dalam proyek pengembangan software.
Git bahkan menjadi tool yang wajib dipahami oleh programmer, karena banyak digunakan di mana-mana.
Artikel ini akan membahas pengenalan Git dan perintah Git yang sering di gunakan, perintah Git ada sangat banyak mungkin akan di bahas pada pembahasan lain. Untuk mempelajari Git lebih lanjut, saya sudah menyediakan link di bagian akhir.

## 5 Perintah git yang sering digunakan.


**1. git status**
perintah Git yang sering digunakan yaitu berfungsi untuk mengecek status pada repository, perubahan yang terjadi distaging index dan working directory atau detail perubahan repository mulai dari data yang diedit/diubah, data baru, data dihapus dll.

`git status`
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x56cmyuzyeri11j5acn0.png)

**2. git add**
yaitu berfungsi untuk memindahkan semua file dari working directory ke staging index.

`git add namafile01.txt` atau `git add namafile01.txt namafile02.txt`
jika ada banyak file yang ingin dipindahkan sekaligus bisa menggunakan `git add .`
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ehrchjgc16xsyvpyre7m.png)

**3. git commit -m "message"**
untuk menambah commit baru dan pesan, sehingga semua perubahan yang ada tersimpan di repository.

`git commit -m "mengubah file01.txt"` atau bisa juga `git add . && git commit -m "mengubah file01.txt"` untuk memindahkah perubahan ke staging index dan langsung dicommit

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r4f6f25rsqtvlxch96aw.png)

**4. git log**
melihat history/log commit yang sudah kita lakukan pada repository.
`git log`

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hx3pnz1mgnga0iqdk18f.png)

atau bisa juga `git log --oneline`

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u2ptyaucqxevaixuhamx.png)

**5. git reset <mode>  <7 digit awal hash>**
mereset commit dan kembali ke commit sebelumnya atau head dipindahkan ke commit yang sebelumnya, kata reset disini bukan berarti data repository akan dihapus melainkan hanya memindahkan head nya saja, contoh ada 1 2 3 4 commit dan kita reset ke commit 2 yang terjadi adalah head pindah/mundur ke commit 2, perubahaan yang terjadi pada commit 3 dan 4 akan hilang buka di hapus, commit 3 dan 4 masih tersimpan hanya saja perubahan filenya hilang, tapi tenang saja jika ternyata kita berubah pikiran dan ingin kembali ke commit yang terakhir kita hanya perlu reset lagi menggunakan nomor hash commit yang terakhir, agar lebih jelas bisa di lihat pada foto dibawah ini.
_info penting, selalu copy dan simpan nomor hash dan posisi head ke memo sebelum melakukan reset_
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pzxn8jxmdja9eui3czv5.png)

contoh nomor hash dan head:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/300fwn1ne99owdc6r7oa.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u75eh6hplwp0ejcbemge.png)

kembali ke topik git reset git reset <mode>  <7 digit awal hash>, dalam mode reset terdapat 3 mode yaitu :

a. mode `--soft`, reset yang dimana commit terakhir akan dipindahkan ke staging index atau working directory dan tidak dihapus.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i89tedut87m1phcw5k81.png)

b. mode `--mixed` (default), reset yang dimana commit terakhir akan dipindahkan ke working directory, dan tidak di hapus.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sly4perf7y08fqfcqnlk.png)

c. mode `--hard`, mode yang akan menghancurkan semua perubahan dan menghapusnya dari direktori lokal. Gunakan ini hanya jika Anda tahu apa yang Anda lakukan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fh4sjczwjewwpa7ird11.png)

_jika berubah pikiran, ternyata tidak jadi mereset_

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0emnul0y1lrsj83ve73q.png)

**selesai**
silahkan bisa dicoba agar lebih paham, demikian artikel ini somoga bisa bermanfaat untuk menambah ilmu atau informasi tambahan.

_refrensi :_
[Git Documentation](https://git-scm.com/doc)