Bagaimana cara membatalkan checkout di git?


134

Saya baru saja memeriksa komit sebelumnya dari repo git lokal saya. Saya belum melakukan perubahan, saya hanya melihatnya. Sekarang saya ingin kembali ke komit terbaru saya - bagaimana saya melakukannya?

Perintah persis yang saya gunakan untuk memeriksanya:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

Sekarang ketika saya mengetikkan git log, di bagian atas saya melihat ini memeriksa commit, tetapi tidak ada satu pun dari saya yang kemudian melakukan. Apakah saya tidak sengaja menghapusnya?


Saya pikir Anda melihatnya dengan cara yang salah: kami keluar ke cabang (kepala), tidak melakukan secara individu
Z. Khullah

Jawaban:


183

Coba ini dulu:

git checkout master

(Jika Anda menggunakan cabang berbeda master, gunakan nama cabang di sana.)

Jika itu tidak berhasil, coba ...

Untuk satu file:

git checkout HEAD /path/to/file

Untuk seluruh copy pekerjaan repositori:

git reset --hard HEAD

Dan jika itu tidak berhasil, maka Anda dapat melihat di reflog untuk menemukan SHA kepala lama Anda dan mengatur ulang ke itu:

git reflog
git reset --hard <sha from reflog>

HEAD adalah nama yang selalu menunjukkan komit terbaru di cabang Anda saat ini.


tapi bagaimana saya melihat komitmen saya untuk memutuskan hash SHA1 mana yang harus diberikan?
Yuval Karmi

1
Anda tidak - Anda mengetik HEAD, kata demi kata. Git sudah tahu apa HEADartinya. Namun, jika Anda benar-benar ingin memberikan SHA1 sebagai gantinya, Anda dapat menggunakannya git loguntuk melihat log komit.
Amber

ketika saya menjalankannya git reset --hard HEADmembawa saya kembali ke komit yang diperiksa ... Saya akan memposting perintah yang tepat yang saya gunakan untuk memeriksanya.
Yuval Karmi

(Jika Anda penasaran, Anda dapat mengetik git rev-parse HEADdan melihat SHA1 yang sesuai dengan komit terbaru Anda.)
Amber

Saya telah menambahkan dua opsi baru di atas, cobalah (agar - coba versi checkout terlebih dahulu).
Amber


16

Anda mungkin mau git checkout master, atau git checkout [branchname].

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.