Cara Mengembalikan Kondisi Codingan ke Commit Sebelumnya

Cara Mengembalikan Kondisi Codingan ke Commit Sebelumnya

Cara Mengembalikan Kondisi Codingan ke Commit Sebelumnya

Ngulik Kode - Git adalah tools yang sangat powerful dan version control system yang sangat populer di kalangan developer. Begitulah cara developer dan tim teknis berkolaborasi dan bekerja sama dalam project. 

Tapi, apa yang terjadi jika kalian secara tidak sengaja meng-commit sebuah file dan menyadari bahwa kalian seharusnya tidak melakukannya karena file tersebut masih ada yang salah? 

Tidak perlu khawatir karena Git memungkinkan kalian untuk membatalkan kesalahan tersebut dan kembali ke versi sebelumnya dari project kalian. 

Salah satu fitur Git yang paling membantu adalah kemampuan untuk membatalkan perubahan yang kalian buat pada project dari waktu ke waktu. 

Pada artikel kali ini, kita akan mempelajari cara membatalkan perubahan di Git tergantung pada status repository Git kalian.

Cara Mengembalikan Perubahan Local Unstaged Changes di Git

Katakanlah kalian sedang mengerjakan di lokal kalian. Kalian membuat dan menyimpan beberapa perubahan ke file secara lokal, tetapi kalian ingin membuangnya.

Saat kalian belum melakukan perubahan tersebut, kalian belum menggunakan perintah git add.

Dalam hal ini, kalian perlu menggunakan perintah git restore. Perintah git restore akan terlihat seperti ini:
git restore filename

Jadi, katakanlah kalian memiliki file README.md dan kalian secara tidak sengaja menulis dan menyimpan beberapa teks yang ingin kalian buang.

Pertama kalian bisa menggunakan perintah git status untuk melihat status repository Git kalian.

On branch main

Your branch is up to date with 'origin/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:   README.md


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

 Inilah cara kalian membatalkan perubahan pada file README.md:

git restore README.md

Kemudian kalian dapat menggunakan git status lagi untuk memeriksa status repository:

On branch main

Your branch is up to date with 'origin/main'.


nothing to commit, working tree clean

Sekarang, kalian telah berhasil membuang perubahan terbaru dan kembali ke versi commit-an yang terakhir dari project kalian.

Cara Mengembalikan Perubahan Local Staged Changes di Git

Sebuah file akan masuk ke staged ketika kalian telah menggunakan perintah git add.

Jadi, katakanlah kalian membuat beberapa perubahan pada file README.md secara lokal, kalian menggunakan perintah git add, dimana itu akan masuk ke staged changes, dan kemudian kalian menyadari bahwa teks tersebut mengandung beberapa kesalahan.

Pertama, jalankan git status untuk memastikan kalian telah menambahkan filenya ke staged changes (artinya kalian telah menggunakan git add):
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
modified:   README.md

Seperti yang kalian lihat dari output git status di atas, kalian dapat menggunakan perintah berikut untuk membatalkan perubahan kalian:

git restore --staged filename

Perintah ini akun menghapus file yang berada staged changes, tetapi akan tetap menyimpan perubahan yang ada di file kalian.

Jalankan git status lagi:

On branch main

Your branch is up to date with 'origin/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:   README.md


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

Sekarang, untuk membuang perubahan yang kalian buat dan mengembalikan file ke konten aslinya, gunakan:

git restore README.md

Dan jalankan git status lagi:

On branch main

Your branch is up to date with 'origin/main'.


nothing to commit, working tree clean

Sekarang, perubahan yang kalian buat telah hilang dan file dikembalikan ke versi commit awal.

Cara Mengembalikan Perubahan Local Committed Changes di Git

Katakanlah kalian membuat perubahan pada file, lalu kalian tambahkan ke staged changes dengan perintah git add, dan kalian meng-commit file tersebut dengan perintah git commit.

Ini berarti bahwa commit hanya ada secara local dan belum dipush ke remote repository.

Pertama, gunakan git status untuk memeriksa apakah kalian meng-commit sebuah file:
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

Selanjutnya, jika kalian ingin membatalkan commit terkahir di local kalian, gunakan perintah git log:

Commit terbaru akan memiliki commit hash (serangkaian angka dan karakter yang panjang) dan (HEAD -> main) di akhir - ini adalah commit yang ingin kalian batalkan.

Commit kedua hingga terakhir memiliki commit hash dan (origin/main) di akhir - ini adalah commit yang ingin kalian pertahankan dan commit yang kalian push ke remote repository. Setelah itu, gunakan perintah berikut untuk membatalkan commit:

git reset --soft HEAD~

Sekarang, mari kita gunakan git log lagi.

Kalian akan melihat commit hash, dan (HEAD -> main, origin/main) di akhir.

Commit terakhir yang kalian buat tidak lagi menjadi bagian dari riwayat repository dan telah dihapus.

Perintah di atas mengembalikan semuanya ke versi file sebelum commit yang tidak disengaja atau salah dan telah mengembalikan satu commit.

Mari kita periksa git status lagi. 

On branch main

Your branch is up to date with 'origin/main'.


Changes to be committed:

  (use "git restore --staged <file>..." to unstage)

modified:   README.md

Perlu diingat bahwa meskipun perintah git reset --soft HEAD~ membatalkan commit terbaru kalian, tapi tetap menyimpan perubahan yang kalian buat.

Cara Mengembalikan Perubahan Public Committed Changes di Git

Bagaimana jika kalian membuat perubahan pada file, lalu kalian masukkan ke staged dengan git add, meng-commitnya dengan perintah git, dan push ke remote repository dengan git push - tapi kalian sadar bahwa kalian seharusnya tidak meng-commit file itu sejak awal?

Apa yang kalian lakukan?

Pertama, kalian gunakan git status untuk memeriksa status repository git:
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

Pada bagian atas, kalian melihat bahwa setiap commit memliki commit hash, dimana itu adalah serangkaian angka dan karakter yang panjang.

Untuk melihat versi pendek dari commit hash, gunakan perintah berikut:

git log --oneline

Dengan perintah git log, kalian bisa memerikan commit mana yang ingin kalian kembalikan.

Katakan commit terakhir kalian memiliki commit hash bb3ccf4, yang mana diikuti (HEAD -> main, origin/main), dan pesan commit seperti "commit README.md file".

Untuk mengembalikan commit yang spesifik, gunakan perintah berikut:

git revert bb3ccf4 --no-edit

 Perintah diatas akan mengembalikan perubahan karena membuat commit baru dan mengembalikan file tersebut ke keadaan sebelumnya, seolah tak pernah berubah.

Yang terakhir, gunakan git push untuk push perubahan ke remote branch.

Setelah kalian melakukannya, kalian akan melihat pesan commit yang sama seperti yang sebelumnya tapi dengan kata revert didepannya, seperti 'Revert "commit README.md file"'.

Ingatlah bahwa riwayat commit akan menampilkan kedua commit secara terpisah:

Revert "commit README.md file"

@johndoe

johndoe committed 9 minutes ago


commit README.md file

@johndoe

johndoe committed 16 minutes ago 

Kesimpulan

Dan begitulah. Kalian sekarang sudah tau caranya untuk membatalkan perubahan di Git. Semoga artikel ini bermanfaat untuk kalian. Terima kasih telah membaca dan jangan lupa bagikan juga ke teman-teman kalian!

 

Proyek Android GudangKita Bagian 4 – Membuat fitur Login & Register berbasis Firebase Authentication Beserta Implementasi Shared Preference

Proyek Android GudangKita Bagian 4 – Membuat fitur Login & Register berbasis Firebase Authentication Beserta Implementasi Shared Preference

Proyek Android GudangKita Bagian 4 – Membuat fitur Login & Register berbasis Firebase Authentication Beserta Implementasi Shared Preference

Ngulik Kode - Assalamu’alaikum teman-teman kembali lagi di Artikel Admin TokoCoding - MuhFikriH, kali ini kita akan melanjutkan Aplikasi GudangKita Part keempat. Di sesi kali ini, Admin akan membantu kalian bagaimana caranya membuat fitur autentikasi Login maupun Register.

A. Font

Font adalah representasi grafis dari teks yang dapat menyertakan jenis huruf, ukuran titik, berat, warna, atau desain yang berbeda. Font memiliki banyak sekali jenis, dan untuk seri pembelajaran kali ini kita akan menggunakan salah satu jenis font yang sudah terkenal yaitu "Poppins". Okey untuk mempersingkat waktu, mari kita masuk ke materi.

1. Download Font

Untuk pertama-tama, silahkan kalian download Font "Poppins" di situs-situs kesayangan kalian, jika belum menemukan nya, kalian bisa mengunduh nya disini. Setelah itu, ganti nama file setiap font tersebut menggunakan huruf kecil.

2. Buat folder "font"

Buka project android kalian, lalu di menu samping kiri, klik kanan pada menu "res" selanjutnya pilih "New" -> "Android Resource Directory".


3. Nama folder

Selanjutnya akan muncul dialog, isi form tersebut dengan ketentuan seperti dibawah ini :
Directory name    : "font"
Resource type      : "font"
Source set            : "main"


4. Sukses menambahkan font

Jika tidak ada error, maka kalian sudah berhasil menambahkan font pada aplikasi kalian.


B. Splash Screen

Ubah code di halaman SplashScreenActivity.java menjadi seperti dibawah ini. 
(Penjelasan ada didalamnya)


C. Register

Buat 1 Activity baru dengan nama RegisterActivity.java beserta layoutnya dengan nama activitiy_register.xml 

1. activity_register.xml

Ubah code di file activity_register.xml menjadi seperti dibawah ini. Untuk asset-assetnya kalian bisa mengunduhnya di Github saya disini


2. RegisterActivity.java

Ubah code di file RegisterActivity.java menjadi seperti dibawah ini. 
(Penjelasan ada di dalamnya)



D. DataHelper berbasis Shared Preference

Jika anda membutuhkan sekumpulan data dengan tipe key-value yang ingin anda simpan dalam aplikasi mobile, anda dapat menggunakan SharedPreferences API. Data dalam SharedPreferences akan disimpan dalam sebuah file yang mengandung key-value secara berpasangan. Setiap file ini dikelola oleh Android framework yang aksesnya dapat diatur secara private atau dibagikan.

Selain digunakan untuk penyimpanan data sederhana, pemanfaatan SharedPreferences digunakan juga untuk menyimpan pengaturan aplikasi. Dengan ini pengguna dapat mengatur aplikasi sesuai dengan keinginan.

Dalam kasus kali ini, kita akan menyimpan data email pengguna ke dalam aplikasi kita agar kita dapat mengetahui pengguna mana yang sedang login dan juga untuk memeriksa apakah pengguna ini harus melakukan transaksi login atau tidak. Langsung saja berikut code beserta penjelasan di dalamnya.


Langkah yang harus dilakukan adalah :

1. Buat package baru dengan klik kanan pada folder project -> New -> Package

2. Beri nama package "helpers"

3. Buat file Java baru dengan nama DataHelper.java

4. Paste code berikut :


E. Login 

Buat 1 Activity baru dengan nama LoginActivity.java beserta layoutnya dengan nama activitiy_login.xml

1. activity_login.xml

Ubah code di file activitiy_login.xml menjadi seperti dibawah ini. Untuk asset-assetnya kalian bisa mengunduhnya di Github saya disini


2. LoginActivity.java

Ubah code di file RegisterActivity.java menjadi seperti dibawah ini. (Penjelasan ada di dalamnya)


Jika semua tutorial di seri ini sudah kalian lakukan, silahkan coba jalankan aplikasi kalian. Coba fitur Register lalu Login, jika ada error silahkan tanya pada kolom komentar. Jika berjalan lancar, maka kalian sudah berhasil membuat fitur Autentikasi berbasis Firebase pada aplikasi kalian.

Baik teman-teman sekian dulu tutorial GudangKita kali ini. Jika ada saran, kritik, atau pertanyaan silahkan tinggalkan pada kolom komentar ya. Semoga ilmunya bermanfaat, terima kasih dan maaf bila ada salah kata. Di artikel berikutnya kita akan belajar mendapatkan data dari Database pada Firebase kita. Sampai jumpa di artikel berikutnya.