Cara Mengembalikan File dan Folder Individual ke Versi Lama di Git

  • Post author:
  • Post category:Tutorial

Git adalah alat yang ampuh untuk melacak setiap versi basis kode Anda, dan sering kali perlu melihat ke masa lalu dan memulihkan file versi lama. Git dapat mengembalikan seluruh komit, atau mereset seluruh repositori, tetapi juga dapat mengembalikan perubahan ke satu file atau folder.

Reverting vs. Reseting

Biasanya, ketika Anda “mengembalikan” sebuah komit, Git menerapkan komit baru dengan menerapkan perubahan yang berlawanan, secara efektif membatalkannya. Ini berguna jika Anda membuat kesalahan dan perlu “menghapus” komit itu, meskipun masih tercatat di history.

Menyetel ulang repositori sedikit berbeda. Anda hanya dapat mengembalikan satu komit pada satu waktu, tetapi jika Anda melakukan git reset, Git akan sepenuhnya mengubah status repo kembali ke saat komit itu dibuat. Ini dilakukan karena banyak alasan, biasanya untuk menghapus komit atau memperbaiki riwayat cabang.

Kedua operasi ini bekerja di seluruh repositori, tetapi Anda juga dapat menggunakan perintah serupa untuk melakukan tindakan yang sama pada file atau folder individual. Misalnya, menggunakan git reset pada satu file akan mengembalikan file tersebut ke kondisi saat komit dibuat. Ini berguna jika Anda hanya ingin memilih versi lama file dari riwayat Git Anda.

RELATED:Bagaimana Cara Kerja Reset Git? Penyetelan Ulang Lunak, Keras, dan Campuran Dijelaskan

TERKAIT: Cara Memperbaiki, Mengedit, atau Membatalkan Komit Git (Mengubah Riwayat Git)

Melihat Versi Lama di Git

Solusi berteknologi rendah untuk menyetel kembali file seperti semula cukup sederhana—Github dan sebagian besar server Git lainnya melacak riwayat file Anda, dan Anda dapat dengan mudah mengklik komit dan mengklik “Jelajahi File” untuk melihat cuplikan repositori Anda dari masa lalu. Anda kemudian dapat mengunduh file, atau menyalin teksnya.

Ini sangat berguna jika Anda bekerja dengan file kode besar, dan ingin melihat versi lama dari fungsi yang Anda tulis. Anda mungkin tidak ingin mengembalikan semuanya dalam kasus itu, hanya satu fungsi. Anda dapat menyalin kode dari fungsi tersebut tanpa menyentuh Git CLI.

Mengatur Ulang File ke Versi Lama di Git

Dalam repositori pengujian ini, kami membuat komit yang mengedit README dan menambahkan file baru. Kami ingin mengembalikan perubahan yang dibuat pada README, tetapi kami tidak ingin mengatur ulang seluruh repo kembali ke komit awal. Perintah checkout Git melakukan banyak hal, seperti berpindah cabang, tetapi pada dasarnya digunakan untuk mengunduh file yang diberikan komit atau ID cabang. untuk mengatur ulang ke. Anda dapat menggunakan git log untuk ini, dicakup ke satu file untuk melihat hanya perubahan yang dilakukan pada file tersebut:

git log README.md

Salin ID untuk komit, lalu jalankan git checkout dengan ID dan jalur file:

git checkout 22710694b25d7ce5297559851beb7d3e4de811bb README4de811 .md

Ini akan mengubah file kembali, tetapi tidak akan melakukan perubahan dulu. Anda bebas mengeditnya dan melakukan commit saat Anda siap.

Dalam contoh ini, git checkout melakukan perubahan untuk commit berikutnya. Jika Anda tidak ingin mengkomitnya, Anda bebas membuang perubahan. Ini berguna untuk mengunduh file versi lama untuk sementara tanpa menggunakan Github.

Mengembalikan Perubahan ke File Tunggal

Demikian pula, jika Anda ingin mengembalikan perubahan dalam satu komit, Anda dapat melakukannya dengan git revert. Namun, tidak ada cara untuk menerapkannya ke satu file, tetapi Anda cukup membuang perubahan jika komit memengaruhi file lain.

Gunakan tanda –no-commit untuk mengizinkan pengeditan “revert commit” yang dibuat oleh Git secara otomatis.

git revert de8564b131ca6a15a7e7c73f5ef156b119cc0b93

Ini akan memungkinkan Anda untuk mengubah file sebelum menyelesaikan pengembalian. Jika ada perubahan yang tidak diinginkan secara bertahap, Anda dapat menghapusnya melalui klien Anda, atau dengan checkout git kosong.

git — file

Itulah berita seputar Cara Mengembalikan File dan Folder Individual ke Versi Lama di Git, semoga bermanfaat. Disadur dari HowToGeek.com.