Cara Mengembalikan Git ke Status Sebelumnya: Panduan untuk Mengembalikan, Mengatur Ulang, Mengembalikan, dan Basis Ulang

Cara Mengembalikan Git ke Status Sebelumnya: Panduan untuk Mengembalikan, Mengatur Ulang, Mengembalikan, dan Basis Ulang

Jika Anda memiliki latar belakang pengembangan, maka Anda harus mengetahui banyak alat pengembangan. Saat Anda mengembangkan proyek secara individual melalui bahasa pemrograman apa pun, Anda akan merasa nyaman dengan interface command line (terminal) atau alat GUI.

Tetapi bagaimana jika Anda bekerja dengan anggota tim, sulit untuk mengirim potongan program ke semua anggota tim secara individual. Ada juga batas ukuran file pada platform yang berbeda yang tidak memungkinkan user untuk mengirim lebih dari ukuran yang dijelaskan.

Sulit untuk berkolaborasi ketika proyek terlalu besar dan membutuhkan modifikasi sepanjang waktu. Untuk ini, Anda memerlukan sistem kontrol versi terdistribusi yang membantu Anda berkolaborasi dengan anggota tim di seluruh dunia. Sebaiknya gunakan sistem kontrol versi terdistribusi untuk proyek perangkat lunak kecil dan besar. Setiap anggota tim akan mendapatkan akses penuh ke repositori lengkap di sistem lokal, dan mereka dapat bekerja secara offline.

Salah satu perangkat lunak serbaguna tersebut adalah Git, dan repositori yang ditangani oleh Git dikenal sebagai GitHub, tempat Anda dapat menyimpan proyek, dan dapat diakses oleh anggota tim mana pun.

Sebelum memulai Git pengenalan, Anda harus tahu tentang Version Control System (VCS), sebagai Git adalah salah satu sistem kontrol versi terdistribusi. Anda harus memiliki gambaran tentang VCS, terutama jika Anda memiliki latar belakang pengembangan perangkat lunak.

Sistem Kontrol Versi (VCS)

Saat melakukan kerja tim, sistem kontrol versi membantu menyimpan catatan modifikasi, fitur, dan trek dalam proyek. Melalui ini, sebuah tim dapat bekerja melalui kerja sama dan juga memisahkan bagian tugas mereka melalui cabang. Jumlah cabang pada VCS tergantung pada jumlah kolaborator dan dapat dipertahankan secara individual.

Karena sistem manajemen proses ini mencatat semua riwayat perubahan dalam repositori, jika ada anggota tim yang melakukan error, mereka dapat membandingkannya dengan versi pekerjaan yang dicadangkan dan membatalkannya. Ini membantu meminimalkan error karena Anda memiliki opsi untuk kembali ke keadaan sebelumnya.

Fitur penting lainnya dari VCS adalah:

  • Itu tidak tergantung pada sistem repositori lain.
  • Anda dapat membuat tiruan dari repositori sehingga jika terjadi kegagalan atau crash, Anda tidak akan kehilangan seluruh proyek.
  • Untuk semua file dan dokumen, riwayat tersedia dengan waktu dan tanggal.
  • Ada sistem tag di VCS yang membantu menunjukkan perbedaan antara semua jenis dokumen yang berbeda.

Jenis Sistem Kontrol Versi

VCS dibagi menjadi tiga jenis:

  1. Sistem Kontrol Versi Lokal (VCS)
  2. Sistem Kontrol Versi Terpusat (CVCS)
  3. Sistem Kontrol Versi Terdistribusi (DVCS)

Sistem Kontrol Versi Lokal

Dalam Sistem Kontrol Versi Lokal, trek file dipertahankan dalam sistem lokal; itu sederhana, tetapi kemungkinan kegagalan file tinggi.

Sistem Kontrol Versi Terpusat

Dalam Sistem Kontrol Versi Terpusat, server terpusat melacak semua file; ia memiliki riwayat lengkap dari semua versi file dan informasi client jika mereka memeriksa file dari server. Ini seperti sistem client-server di mana setiap orang dapat berbagi server dan juga mengakses pekerjaan semua orang.

Sistem Kontrol Versi Terdistribusi

Yang terakhir adalah Sistem Kontrol Versi Terdistribusi yang datang untuk mengontrol kelemahan VCS Terpusat. Dalam jenis ini, client dapat membuat tiruan dari repositori lengkap yang mencakup riwayat dan trek file. Server akan kembali jika terjadi kegagalan menggunakan copyan repositori client sebagai klon dianggap sebagai cadangan data yang lengkap. Proyek Sumber Terbuka sepertiGit dll., gunakan jenis Sistem Kontrol Versi seperti itu.

Apa itu Git?

Git adalah salah satu perangkat lunak sistem Distributed Version Control (VCS) yang menyimpan semua jejak data. Tujuan di bali
k pengembanganGitperangkat lunak adalah untuk menyediakan platform kolaborasi di mana semua pengembang dapat berbagi kode sumber mereka selama pengembangan proyek. Fitur penting lainnya dariGitadalah; ia menyediakan platform sumber terbuka dengan kinerja kecepatan tinggi, kompatibel, ringan, andal, aman, memastikan integritas data, mengelola ribuan cabang yang berjalan pada sistem yang berbeda, dan seterusnya.

Pada tahun 2005, Linus Torvaldsmemutuskan untuk membuat sistem kontrol versi baru untuk memenuhi kebutuhan komunitas dan memelihara sistem kernel Linux. Dengan bantuan pengembang Linux lainnya, struktur awal dari Git dikembangkan, dan Junio Hamano adalah pengelola inti sejak 2005. Linus Torvalds offline, menghadirkan sistem revolusioner, dan beri nama Git. Dan sekarang, sejumlah besar perusahaan multinasional, seperti Google, Firefox, Microsoft, dan perusahaan rintisan, menggunakan Git untuk proyek perangkat lunak mereka. Sulit untuk mengidentifikasiGit sebagai Sistem Kontrol Versi (VCS), Sistem Manajemen Kode Sumber (SCM), atau Sistem Kontrol Revisi (RCS) seperti yang dikembangkan dengan fungsi trio.

Alur Kerja Git

Ketika sebuah proyek Git dimulai, ia terbagi menjadi tiga segmen:

  1. Git Directory
  2. Working Tree
  3. Staging Area

Itu Git Directory adalah tentang semua file, termasuk riwayat perubahan. Itu Working Tree segmen memegang status proyek saat ini dan semua perubahan. DanStaging Area memberitahu Git kemungkinan perubahan apa dalam file yang dapat terjadi di komit berikutnya.

Ada dua kemungkinan status file yang ada di direktori kerja:

  1. Untracked
  2. Tracked

Baik file tidak akan terlacak, atau akan berada dalam status terlacak.

Mari kita jelajahi keduanya:

Status Tidak Terlacak

File yang tidak ditambahkan tetapi ada di direktori kerja akan berada dalam status tidak terlacak; git tidak memantau mereka.

Status Terlacak

File yang dilacak adalah file yang ada di snapshot terakhir, dan Git memiliki ide tentang mereka.

Setiap file yang dilacak dapat berada di salah satu sub-negara bagian yang disebutkan:

  1. Committed
  2. Modified
  3. Staged

berkomitmen

Status file ini berarti bahwa semua data file disimpan dalam database lokal dengan aman.  

Diubah

Sebuah file mengubah statusnya dari Committed ke Modifiedketika perubahan telah dibuat dalam file. Mungkin ada jenis perubahan apa pun seperti menghapus konten, memperbarui, atau menambahkan apa pun. Sederhananya, keadaan ini berarti perubahan yang belum dilakukan sekarang sedang terjadi.

Dipentaskan

Status bertahap mencakup dua jenis file: File yang dimodifikasi atau File yang tidak terlacak (file yang baru dibuat). Ketika semua modifikasi file selesai, itu ditransfer ke status bertahap.

Cara Menginstal Git di Ubuntu

Anda tidak perlu izin sudo untuk menginstal Git di Ubuntu; itu dapat didownload dengan atau tanpa user root.

Untuk memeriksa apakah Git sudah diinstal pada perangkat Anda atau tidak, jalankan perintah yang diberikan:

$ git --version

Jika ada di sistem Anda, Anda akan mendapatkan GitVersi: kapan. Karena tidak ada di sistem saya; untuk menginstal, jalankan perintah yang diberikan:

$ sudo apt install git

Sekarang, jalankan perintah versi lagi untuk memeriksa apakah itu berhasil diinstal:

$ git --version

Menyiapkan Git

Setelah proses instalasi, langkah selanjutnya adalah mengkonfigurasi Git mengatur sehingga Anda dapat mulai dengan Git perangkat lunak.

Untuk konfigurasi, Anda harus memasukkan nama dan alamat email Anda melalui “git config” memerintah.

Pertama, Anda perlu memasukkan nama user Anda untuk mengatur sistem Git; ketik perintah yang disebutkan untuk ini:

$ git config --global user.name "Wardah"

Sekarang, atur alamat email melalui perintah berikut:

$ git config --global user.email "[email protected]"

Saat Anda menyetel kredensial untuk Git aplikasi, itu akan disimpan dalam file konfigurasi Git “./gitconfig”; Anda dapat mengedit informasi dengan menggunakan editor teks apa pun seperti nano, dll.

Perintah yang digunakan untuk tujuan ini adalah:

$ nano ~/.gitconfig

Jika Anda ingin mengedit informasi seperti nama atau email, lakukan di editor dan tekan “Ctrl+X” lalu tekan “Y/y”; itu akan menyimpan modifikasi editor dan keluar.

Panduan Lengkap untuk Memulihkan, Mengatur Ulang, Mengembalikan, dan Basis Ulang

Saat bekerja dengan aplikasi Git, Anda menghadapi tantangan di mana Anda harus memutar kembali komitmen sebelumnya. Ini adalah salah satu aspek Git yang kurang dikenal, karena banyak dari kita tidak tahu betapa mudahnya untuk kembali ke keadaan terakhir dari komit.

Sangat mudah untuk membatalkan perubahan signifikan dalam repositori jika Anda mengetahui perbedaan antara istilah “Restore“, “Revert“, “Reset“, dan “Rebase“. Untuk melakukan fungsi yang diperlukan (kembali ke keadaan sebelumnya), Anda harus mengetahui perbedaannya.

Artikel ini akan mencakup empat aspek utama dari Git:

  1. Git Restore
  2. Git Reset
  3. Git Revert
  4. Git Rebase

Mari kita jelaskan semuanya secara terpisah sehingga Anda bisa mendapatkan pemahaman yang lebih baik:

Pemulihan Git

Operasi pemulihan Git membantu memulihkan konten dari indeks pementasan atau komit apa pun di direktori kerja. Itu tidak akan memperbarui cabang tetapi mengubah riwayat komit saat memulihkan file dari komit lain. Ini menentukan jalur di pohon kerja; jalur ini membantu menemukan konten saat memulihkan.

Pemulihan menggunakan beberapa perintah untuk mendapatkan kembali konten, jika Anda menemukan “staged”, artinya file dipulihkan dari Head atau index; untuk memulihkan file dari komit lain, gunakan “source”, dan jika Anda ingin memulihkan “pohon kerja” dan indeks, Anda dapat melakukannya melalui “staged” dan “worktree” perintah.

Untuk memulihkan modifikasi yang baru saja dibuat, ikuti sintaks yang disebutkan di bawah ini:

git restore [filename]

Misalnya, Anda telah menambahkan file dengan nama “my_git.txt” menggunakan perintah yang disebutkan di bawah ini:

$ git add my_git.txt

Untuk memeriksa apakah file tersebut ada atau tidak, perintah yang diberikan akan digunakan:

$ git status

Sekarang, mari kita hapus file ini menggunakan:

$rm -f my_git.txt

Sekali lagi periksa statusnya:

$ git status

Seperti yang dapat dilihat bahwa file tersebut telah dihapus. Sekarang, untuk memulihkannya, gunakan:

$ git restore my_git.txt

Periksa kembali statusnya:

$ git status

File telah dipulihkan. “staged” flag digunakan untuk memulihkan file tertentu dari git yang ditambahkan sebelumnya, jadi untuk melakukannya, ikuti sintaks yang diberikan:

git restore --staged [filename]

Untuk memulihkan beberapa file dari area pementasan, Anda perlu menggunakan karakter wildcard dengan nama file; Suka:

git restore --staged *[filename]

Untuk mengembalikan modifikasi lokal yang tidak dikomit, sintaks yang sama akan diikuti seperti yang kita lakukan di atas, tetapi hilangkan “staged” tandai dari perintah.

Ingatlah bahwa modifikasi ini tidak dapat dibatalkan.

git restore [filename]

Di direktori kerja saat ini, semua file yang ada dapat dipulihkan melalui sintaks berikut:

git restore.

Atur Ulang Git

Anda dapat mempertimbangkan Git resetsebagai fitur roll-back karena digunakan untuk membatalkan modifikasi. Saat Anda menggunakan fitur reset Git, itu akan mengembalikan lingkungan Anda saat ini ke komit sebelumnya. Lingkungan kerja ini dapat berupa status apa pun seperti direktori kerja, area pementasan, atau gudang lokal.

Kami telah menjelaskan Staging Area dan Working Directory; dalam fitur reset,Head adalah penunjuk menuju cabang baru atau cabang saat ini. Setiap kali Anda beralih dari yang sebelumnya, itu merujuk ke cabang baru. Ini adalah referensi dari cabang sebelumnya ke arah lebih lanjut, sehingga dapat dianggap sebagai tindakan induk.

Untuk menjalankan perintah reset Git, Anda ditawarkan tiga cara Git yang berbeda; Soft, Mixed, dan Hard. Saat Anda menjalankan perintah reset Git, itu akan menggunakanmixed modus secara default.

Jika kita pindah ke Git Reset Hard, itu mengarahkan Kepala ke komit yang ditentukan dan menghapus semua komit setelah komit tertentu. Saat Anda menggunakan perintah Reset hard, itu memperbarui direktori kerja serta area pementasan dan mengubah riwayat komit. ItuGit Reset Softmengatur ulang pointer referensi dan memperbaruinya; saat kita lewat soft argumen, itu tidak menyentuh direktori Kerja dan Area Staging dan mengatur ulang riwayat Komit. Itu Git Reset Mixed adalah cara default Git; ketika Anda menjalankannya, pointer referensi diperbarui, dan mengirimkan perubahan yang dibatalkan dari Staging Index ke Direktori Kerja untuk menyelesaikannya.

Untuk mengatur ulang (membatalkan) semua modifikasi yang telah Anda lakukan di komit terakhir, perintah berikut akan digunakan:

$ git reset --hard HEAD

Ini akan membuang semua perubahan yang terjadi di komit terakhir. Dan untuk dua komit sebelumnya“HEAD”:

$ git reset --hard HEAD~2

Perintah di atas hampir tidak digunakan karena semuanya, termasuk riwayat komit, akan diperbarui ke komit tertentu. Selain itu, indeks pementasan dan direktori kerja juga akan diatur ulang ke komit khusus itu. Anda mungkin kehilangan data penting yang tertunda pada indeks pementasan dan direktori kerja. Untuk menghindarinya, gunakan “–soft” sebagai pengganti hard.

$ git reset --soft HEAD

Perintah di atas tidak akan mengubah direktori kerja dan indeks pementasan. Mari kita gunakan opsi “reset” untuk menghapus tahapan file:

Pertama, buat file dan tambahkan ke cabang mana pun menggunakan:

$ git add index.html

Kembalikan Git

Operasi Git Revert  sangat mirip denganGit Resetmemerintah; satu-satunya perbedaan adalah Anda memerlukan komit baru untuk kembali ke komit tertentu saat melakukan operasi ini. Perintah revert digunakan untuk membatalkan perubahan yang terjadi setelah menjalankan perintah reset. Untuk ini, itu tidak akan menghapus data apa pun; tambahkan saja komit baru di akhir yang akan membatalkan modifikasi di repositori.

Untuk mengembalikan dalam komit, sebutkan Hash dengan opsi kembalikan:

git revert [commit_ref]

Perintah git revert membutuhkan referensi yang berarti perintah tidak akan berfungsi. Mari kita gunakan“HEAD” sebagai referensi komit.

$git revert HEAD

Perintah yang disebutkan di atas akan mengembalikan komit terbaru.

Git Rebase

Itu Git Rebase digunakan untuk menggabungkan atau menggabungkan urutan komit pada basis baru. Ini adalah proses mengintegrasikan perubahan dan mentransfernya dari satu cabang ke cabang lainnya (satu basis ke basis lainnya). Ini adalah alternatif untuk “merge” tetapi entah bagaimana berbeda darinya, dan karena itu mungkin membingungkan kita karena keduanya serupa. “mergePerintah ” digunakan untuk menggabungkan riwayat komit dan mempertahankan catatan saat itu terjadi, sedangkan perintah rebase menulis ulang atau menerapkan kembali riwayat komit di atas cabang lain.

Mari kita tunjukkan konsep opsi Rebase melalui sebuah contoh:

Dalam riwayat di atas, “features” adalah cabang dengan “B” sebagai dasarnya. Gunakan perintah berikut untuk menggabungkan“features” cabang setelah komit terakhir:

git rebase [commit_ref]

Referensi komit bisa berupa apa saja seperti cabang, ID, atau tag. Misalnya, untuk rebase“features” cabang ke master, yaitu “D”, gunakan perintah yang disebutkan di bawah ini:

$ git checkout features

$ git rebase master

Saat Anda menjalankan perintah ini, tombol “features” cabang akan ditambahkan ke master, yang merupakan basis baru:

Kesimpulan

Dalam Manajemen Konfigurasi Perangkat Lunak, Version Controladalah komponen penting untuk mengelola perubahan dalam dokumentasi, program, atau proyek perangkat lunak. Perubahan ini diidentifikasi secara numerik dan diberi judul “revision“. Misalkan versi pertama ditetapkan sebagai “revisi 1”. Ketika ada anggota tim yang mengubah proyek, itu akan menyimpannya sebagai “revisi 2” dengan stempel waktu dan orang yang bersangkutan yang melakukan modifikasi.

Sistem Kontrol Versi dibagi menjadi tiga kategori VCS Lokal, VCS Terpusat, dan VCS Terdistribusi. Salah satu contoh VCS Terdistribusi adalahGit, perangkat lunak sumber terbuka yang membantu mengelola semua catatan proyek pengembangan. Ini menyediakan platform kolaborasi ringan dengan kinerja tinggi dan mengelola beberapa cabang yang berjalan pada sistem yang berbeda.

Kapan pun Anda memulai proyek di sistem Git, alur kerja Git membantu mengelolanya secara efektif dan konsisten; itu dibagi menjadi tiga segmen: Git Directory, Working Tree, dan Staging area.

Proyek yang sedang Anda kerjakan ada di dalam untracked state atau tracked negara. File Untracked dianggap sebagai file baru yang bukan merupakan bagian dari direktori kerja sebelumnya, sedangkan file Tracked adalah bagian dari snapshot terakhir dan selanjutnya dikategorikan ke dalamCommitted, Modified, dan Staged negara bagian.

SEBUAH committedstate berarti file data disimpan dalam database lokal; setiap kali Anda membuat perubahan apa pun pada file, itu ditransfer ke status Dimodifikasi. ItuStagedstatus termasuk file yang dimodifikasi dan file yang baru dibuat; ketika semua modifikasi file selesai, itu ditransfer ke status bertahap.

Tulisan ini menunjukkan bagaimana Anda dapat menginstal dan mengkonfigurasi sistem Git di Ubuntu 20.04.

Setelah itu, kami membahas cara memulihkan, rebase, revert, dan reset operasi Git saat melakukan sebuah proyek. ItuGit Restorefungsi digunakan untuk memulihkan konten dari komit di direktori kerja. Setiap kali Anda melakukan perintah pemulihan, itu akan mengubah riwayat komit dan menentukan jalurnya.

Itu Reset, atau kita dapat mengatakan fitur rollback membantu untuk membatalkan modifikasi di Git repository dan akan mengembalikan lingkungan saat ini ke komit sebelumnya.

Operasi Git Revert  sangat mirip denganGit Resetmemerintah; satu-satunya perbedaan adalah Anda memerlukan komit baru untuk kembali ke komit tertentu saat melakukan operasi ini.

Dan yang terakhir adalah Git Rebaseyang digunakan untuk menggabungkan atau menggabungkan urutan komit pada repositori. Ini berbeda dengan perintah merge sebagai perintah “mergePerintah ” digunakan untuk menggabungkan riwayat komit dan memelihara catatan saat itu terjadi, sedangkan “rebase” perintah menulis ulang atau menerapkan kembali riwayat komit di atas cabang lain.

Artikel ini telah menunjukkan kepada Anda bagaimana Anda dapat melakukan operasi ini saat menggunakan perangkat lunak Git di Linux.

Related Posts