Скільки комітів потрібно повернути назад і вибрати з них? Якщо це лише один, можливо, візьміть гілку безпосередньо перед нею, перевірте файл, який ви створили, а потім використовуйте, git add -pщоб додати його, як ви цього хотіли. Потім ви можете повернутися туди, де ви були, і перевірити файл із вашої тимчасової гілки.
це є:
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
Інші альтернативи включають повернення назад і редагування коміту за допомогою git rebase -i(позначення коміту як edit, потім виконання git reset HEAD^та повторення коміту при скиданні назад в оболонку).
Якщо зміни, які вам потрібно вибрати, розподілені по серії комітів, може бути краще витягти їх як патчі (або патч, що охоплює всі) і відредагувати патч вручну, видаливши зміни, які ви хочете зберегти, і подача залишку в git apply --reverse.