Logo
Github Commit

Cara Membatalkan Revisi dan Commit Pada Git dengan Github

  • Git
  • Alfin Ardiansyah
  • 20 Aug 2024

Bagi para pengembang website atau software, Git menjadi alat yang penting dalam pengelolaan project. Namun, tidak jarang kita melakukan kesalahan saat melakukan commit, entah itu karena pesan commit yang salah, file yang tidak seharusnya di-commit, atau perubahan yang perlu dibatalkan. Git sendiri menyediakan beberapa perintah untuk membatalkan revisi pada Git, antara lain seperti git checkout, git reset, dan git revert

Mengapa Perlu Membatalkan Git yang Sudah Ditambahkan?

Ada beberapa alasan mengapa Anda mungkin perlu membatalkan commit yang sudah dibuat:

  1. Kesalahan dalam pesan commit karena adanya kesalahan ketik atau salah menyusun pesan commit.
  2. Commit yang Prematur karenap proses commit yang dilakukan terlalu cepat sebelum semua perubahan selesai.
  3. Menghapus atau Mengganti Perubahan karena perubahan yang di-commit tidak benar dan perlu dihapus atau diganti.

Cara Penggunaan Pembatalan Git

Membatalkan Commit atau revisi dengan keadaan file yang belum di Add Dengan Git Diff

Apabila revisi atau commit yang sudah dilakukan dalam keadaan belum stagged, maka kita bisa melakukan pembatalan dengan perintah git chekout  :

git checkout <nama-file>

Kita ambil contoh apabila kita ingin merubah file index.php di repository kita yang sudah dibuat.

index.php sebelum dirubah

echo "Saya Sedang Belajar";

index.php setelah dirubah

echo "Saya Sedang Belajar Git";

Kita dapat menjalkankan perintah git diff index.php untuk melihat perubahanya :

$ git diff
diff --git a/index.php b/index.php
index 66cb134..3702ac3 100644
--- a/index.php
+++ b/index.php
@@ -1,5 +1,5 @@
 <?php
  echo "Sedang Sedang Belajar";
- echo "Saya Sedang Belajar";
+ echo "Saya Sedang Belajar Git";
 ?>

Dari penggunaan Git Diff diatas, terlihat perubahan yang sudah kita lakukan pada file index.php dengan keadaan kondisi file yang belum Added dan commited. Kita dapat menggunakan perintah :

git checkout index.php

Akan tetapi kalian harus berhati-hati, karena perintah Git Diff ini dapat menjadi malapetaka karena akan menghapus perubahan yang barusaja dilakukan. Apabila kita menjalankan perintah ini setelah melakukan banyak perubahan, maka semua yang sudah kita rubah akan hilang percuma.

Membatalkan Commit atau revisi dengan keadaan file yang sudah Stagged  Dengan Git Reset

Staged merupakan kondisi dimana file sudah dilakukan perubahan serta di add dengan perintah, akan tetapi belum dilakukan commit . Dalam kondisi ini kita untuk membatalkan perubahanya dapat menggunakan perintah :

git reset <nama-file>

Dalam hal ini kita akan mencoba melakukan perubahan pada file index.php.

echo "Saya Sedang Belajar Git";

Setelah itu kita buat file tersebut memasuki kondisi staged dengan perintah :

git add index.php

Lakukan pengecekan dengan menggunakan perintah :

git status

Hasil Pengecekan dengan perintah Git Status :

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   index.php

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

Kita telah berhasil melakukan perubahan pada file index.php dari staged menjadi modified file, selanjutnya kita melakukan pembatalan dengan perintah :

git reset index.php

Hasil dari perintah diatas :

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   index.php

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

Setelah berhasil mengubah status dari file index.php dari staged ke modified dan selanjutnya kita hanya tinggal membatalkan perubahanya dengan perintah :

git checkout index.php

Membatalkan Commit atau revisi dengan keadaan file yang belum Commited  Dengan Git  Diff

Ketika kita sydag menjalankan pertintah git commit pada file project kita, kita membuat status dari file tersebut menjadi commited, kita bisa membatalkan perubahan dari file tersebut, akan tetapi  untuk membatalkan perubahanya kita harus mengetahui dari nomor commit dari perubahan sebelumnya ke nomor commit yang kita  ingikan

Contoh penggunanya :

$ git diff
diff --git a/index.php b/index.php
index 66cb134..3702ac3 100644
--- a/index.php
+++ b/index.php
@@ -1,5 +1,5 @@
 <?php
  echo "Sedang Sedang Belajar";
- echo "Saya Sedang Belajar";
+ echo "Saya Sedang Belajar Git";
 ?>

Selanjutnya kita akan merubah file index.php menjadi commited dengan perintah :

git add index.php
git commit -m "first commit"

Setelah status file tersebut menjadi commited. kita dapat melihat nomor commitnya dengan perintah :

git log

Hasil dari perintah diatas :

$ git log
commit 6da9994ddb4c922b151c732da7b413f9ccfb86a6 (HEAD -> main)
Author: Alvien01 <[email protected]>
Date:   Tuesday Aug 20 10:14:11 2024 +0700

    first commit

commit a6403be16a7d20f0f339d672f45567f968825b8d
Author: Alvien01 <[email protected]>
Date:   Tuesday Aug 20 10:14:11 2024 +0700

    edit index.php

commit a5ed4897f2c434f85451ce6602dba8c92afae76b
Author: Alvien01 <[email protected]>
Date:   Tuesday Aug 20 10:14:11 2024 +0700

    git diff

commit 70cbe6b3844acdcfed538d044c35f147d5e97cd3
Author: Alvien01 <[email protected]>
Date:   Tuesday Aug 20 10:14:11 2024 +0700

    ubah index.php

commit 52978163d8f22e2c97a275ab23657100eb277165
Author: Alvien01 <[email protected]>
Date:   Tuesday Aug 20 10:14:11 2024 +0700

    belajar git

Kita dapat mengembalikan file index.php pada commit sebelumnya dengan perintah :

git checkout a6403be16a7d20f0f339d672f45567f968825b8d index.php

Apabila kita ingin mengubahnya menjadi modified atau not staged maka kita dapat melakukannya dengan perintah :

git reset index.php

Mengembalikan ke Commit Sebelumnya dengan Perintah HEAD

Apabila kita ingin mengembnalikan file commit sebelumnya dengan jumlah tertentu, kita dapat menggunaakn perintah HEAD, berikut contoh penggunaanya :

git checkout HEAD~4 index.php

HEAD~4 berarti anda memilih 4 commit sebelumnya, apabila anda ingin beberapa commit saja sesuai yang Anda tentukan anda dapat menambahkan parameter ~JumlahCommit yang ingin anda masukan. Baca Artikel Menarik lainya hanya di RuangBacaku