Cara git mengatur ulang ke kepala

Cara git mengatur ulang ke kepala

Git reset adalah proses yang sangat mirip dengan membatalkan komitmen git baru -baru ini yang kami bahas dalam salah satu tutorial sebelumnya. Namun, dalam hal ini, kami akan menutupi git reset untuk lebih mendalam. Kami akan memeriksa apa yang dilakukan perintah revert dan apa yang dicampur reset. Baca terus dan temukan beberapa tips dan trik tentang reset git.

Setel ulang git terakhir berkomitmen untuk kepala

Di artikel kami sebelumnya, kami menggunakan git reset -soft head ~ 1 untuk membatalkan komitmen terakhir tanpa kehilangan perubahan yang tidak berkomitmen. Selain itu, kami menggunakan git reset -hard head ~ 1 untuk membatalkan segalanya, bahkan perubahan yang kami buat secara lokal. Tapi apa yang harus dilakukan saat Anda ingin mengatur ulang Git terakhir berkomitmen untuk kepala, simpan perubahan yang Anda lakukan di direktori repo Anda, tetapi Anda tidak ingin menyimpannya di indeks? Inilah jawaban Anda.

Jika Anda menemukan situasi seperti yang kami jelaskan di atas, Anda harus menggunakan -Campuran bendera. Inilah contohnya.

Katakanlah kami menambahkan semacam file dengan komit terakhir kami.

git log --Oneline -graph  
Output: D445900 (head -> master) Menambahkan file baru bernama "test_file" 61t6ll5 komit kedua 4096R12 Komitmen repositori awal 

Sekarang mari kita jalankan perintah git reset dengan --Campuran bendera.

git reset -campuran kepala ~ 1  

Apa yang dilakukan perintah di atas adalah berikut ini. Ini menghapus komit terakhir, yang dalam hal ini adalah penambahan file dan menghapusnya dari indeks git, tetapi file tetap di direktori tempat Anda saat ini berada (yang merupakan direktori repositori lokal Anda). Jadi bendera --Campuran sebenarnya kombinasi --lembut Dan --keras Opsi reset git. Itulah mengapa ini disebut campuran pada akhirnya.

Cara menggunakan opsi git revert untuk mereset

Kembalikan sedikit berbeda dari reset. Perbedaan utama adalah bahwa reset menetapkan posisi baru untuk kepala sementara revert benar -benar mengembalikan seluruh komit yang ditentukan. Biarkan kami menunjukkan kepada Anda contoh bagaimana ini sebenarnya bekerja.

git log --Oneline -graph  
Output: D445900 (head -> master) Menambahkan file baru bernama "test_file" 61t6ll5 komit kedua 4096R12 Komitmen repositori awal 

Jadi sekali lagi, hal terakhir yang kami lakukan adalah penambahan file. Mari Jalankan Perintah Revert sekarang.

Git Revert Head  

Editor teks default Anda akan dibuka sekarang dan output akan terlihat seperti ini.

Kembalikan “Menambahkan file baru bernama test_file” ini mengembalikan komit 5e998t74du5h4z4f. # Harap masukkan pesan komit untuk perubahan Anda. Baris mulai # dengan ' #' akan diabaikan, dan pesan kosong membatalkan komit. # # Di Cabang Master # Cabang Anda di depan 'Asal/Master' oleh 6 Commits. # (Gunakan "Git Push" untuk mempublikasikan komitmen LOACL Anda) # perubahan yang harus dikomit: # dihapus: test_file # 

Setelah selesai, keluar dari editor teks, dan pesan baru akan muncul.

Output: [Master D445900] Kembalikan "Menambahkan file baru bernama test_file" 1 file diubah, 1 penghapusan (-) Hapus mode 100644 test_file 

Itu dia! Anda berhasil mendapatkan reset git untuk melakukan aksi head dengan opsi Revert.