Cara menetapkan semula ke kepala

Cara menetapkan semula ke kepala

Git Reset adalah proses yang hampir sama dengan membuang git baru -baru ini yang kami dilindungi dalam salah satu tutorial sebelumnya. Walau bagaimanapun, dalam satu ini, kami akan meliputi semula git untuk menuju ke arah yang lebih mendalam. Kami akan memeriksa apa yang dilakukan oleh Revert Command dan apa yang ditetapkan semula. Baca terus dan cari beberapa petua dan cara mengenai Git Reset.

Tetapkan semula git terakhir untuk mengetuai

Dalam artikel kami sebelumnya, kami menggunakan Git Reset -Soft Head ~ 1 untuk membatalkan komit terakhir tanpa kehilangan perubahan yang tidak disengajakan. Di samping itu, kami menggunakan Git Reset -Hard Head ~ 1 Untuk membatalkan segala -galanya, walaupun perubahan yang kami buat secara tempatan. Tetapi apa yang perlu dilakukan apabila anda ingin menetapkan semula komitmen git terakhir untuk mengetuai, simpan perubahan yang anda lakukan dalam direktori repo anda, tetapi anda tidak mahu menyimpannya dalam indeks? Inilah jawapan anda.

Sekiranya anda tersandung pada situasi seperti yang kami nyatakan di atas, anda mesti menggunakan -bercampur bendera. Inilah contoh.

Katakan bahawa kami menambah beberapa jenis fail dengan komitmen terakhir kami.

Log Git --oneline --Graph  
Output: d445900 (kepala -> master) menambah fail baru bernama "test_file" 61t6ll5 kedua komited 4096r12 awal repositori komitmen 

Sekarang mari kita jalankan perintah semula git dengan --bercampur bendera.

Reset Git -Ketua bercampur ~ 1  

Apa arahan di atas adalah yang berikut. Ia mengeluarkan komit yang terakhir, yang dalam kes ini adalah tambahan fail dan ia mengeluarkannya dari indeks git, tetapi fail tetap di direktori di mana anda berada sekarang (yang merupakan direktori repositori tempatan anda). Jadi bendera --bercampur sebenarnya gabungan dari --lembut dan --keras Pilihan Reset Git. Itulah sebabnya ia dipanggil bercampur pada akhirnya.

Cara menggunakan pilihan git untuk menetapkan semula

Kembali sedikit berbeza daripada tetapan semula. Perbezaan utama adalah bahawa Reset menetapkan kedudukan baru untuk kepala sementara kembali sebenarnya mengembalikan keseluruhan komit yang ditentukan. Mari kita tunjukkan contoh bagaimana ini sebenarnya berfungsi.

Log Git --oneline --Graph  
Output: d445900 (kepala -> master) menambah fail baru bernama "test_file" 61t6ll5 kedua komited 4096r12 awal repositori komitmen 

Sekali lagi, perkara terakhir yang kami lakukan adalah penambahan fail. Mari jalankan perintah balik sekarang.

Git kembali kepala  

Editor teks lalai anda akan dibuka sekarang dan outputnya akan kelihatan seperti ini.

Dibalikkan "Menambah fail baru bernama test_file" ini kembali komited 5e998t74du5h4z4f. # Sila masukkan mesej komit untuk perubahan anda. Garis bermula # dengan ' #' akan diabaikan, dan mesej kosong membatalkan komitmen. # # Di Cawangan Master # Cawangan Anda mendahului 'Asal/Master' oleh 6 Berjalan. # (Gunakan "git push" untuk menerbitkan LOACL COMMITS anda) # # perubahan yang akan dilakukan: # dipadam: test_file # 

Sebaik sahaja anda selesai, keluar dari editor teks, dan mesej baru akan muncul.

Output: [Master D445900] Revert "Menambah fail baru bernama test_file" 1 Fail berubah, 1 penghapusan (-) padam mod 100644 test_file 

Itu sahaja! Anda berjaya menetapkan semula git untuk mengetuai tindakan dengan pilihan balik.