Saya baru saja melakukan
git commit -m "blah"
lalu saya menambahkan beberapa file, bagaimana cara mengembalikan dan menghapus apa yang ada di file saya saat ini yang belum ditambahkan / dilakukan?
Saya baru saja melakukan
git commit -m "blah"
lalu saya menambahkan beberapa file, bagaimana cara mengembalikan dan menghapus apa yang ada di file saya saat ini yang belum ditambahkan / dilakukan?
Jawaban:
Caveat Emptor - Perintah yang merusak di depan.
Mitigasi - git reflog dapat menyelamatkan Anda jika Anda membutuhkannya.
1) URUNGKAN perubahan file lokal dan TETAP komit terakhir Anda
git reset --hard
2) URUNGKAN perubahan file lokal dan HAPUS pengubahan terakhir Anda
git reset --hard HEAD^
3) TETAP perubahan file lokal dan HAPUS komit terakhir Anda
git reset --soft HEAD^
Jika Anda ingin menghapus konten dan file yang baru ditambahkan yang sudah bertahap (ditambahkan ke indeks), maka Anda menggunakan:
git reset --hard
Jika Anda juga ingin menghapus komit terakhir Anda (adalah yang memiliki pesan "bla") maka lebih baik menggunakan:
git reset --hard HEAD^
Untuk menghapus file yang tidak terlacak (jadi file baru belum ditambahkan ke indeks) dan folder gunakan:
git clean --force -d
git reset --hard akan memaksa direktori kerja kembali ke komit terakhir dan menghapus file baru / yang diubah.
Anda dapat mengembalikan komit menggunakan git revert HEAD^untuk mengembalikan ke komit berikutnya-ke-terakhir. Anda juga dapat menentukan komit untuk mengembalikan menggunakan id sebagai ganti HEAD ^
Jika Anda hanya ingin membatalkan komit terakhir, gunakan ini:
git reset HEAD~
bekerja seperti pesona bagi saya.
Cara mudah dan sangat mudah untuk MENGURANGI perubahan file lokal sejak komit terakhir adalah dengan menempatkannya di cabang baru:
git branch changes
git checkout changes
git add .
git commit
Ini meninggalkan perubahan di cabang baru. Kembali ke cabang asli untuk menemukannya kembali ke komit terakhir:
git checkout master
Cabang baru adalah tempat yang baik untuk mempraktikkan berbagai cara untuk mengembalikan perubahan tanpa risiko mengacaukan cabang asli.