Berapa banyak komitmen yang Anda perlukan untuk kembali dan memilih dari? Jika hanya satu, mungkin ambil cabang sebelum itu, periksa file yang Anda komit dan kemudian gunakan git add -puntuk menambahkannya sesuai keinginan Anda. Kemudian Anda dapat kembali ke tempat Anda sebelumnya dan melakukan pembayaran file dari cabang sementara Anda.
itu adalah:
git checkout -b temp troublesome-commit^
git checkout troublesome-commit -- path/to/file
git add -p path/to/file
git commit -c troublesome-commit
git checkout @{-1}
git checkout temp -- path/to/file
git commit path/to/file
git branch -D temp
Alternatif lain termasuk kembali dan mengedit komit dengan git rebase -i(menandai komit sebagai edit, lalu melakukan git reset HEAD^dan mengulangi komit ketika jatuh kembali ke shell).
Jika perubahan yang perlu Anda pilih tersebar pada serangkaian komit, mungkin lebih baik mengekstraknya sebagai tambalan (atau tambalan yang mencakup semuanya) dan mengedit tambalan secara manual, mengambil perubahan yang ingin Anda pertahankan, dan memasukkan sisa ke git apply --reverse.