Как мне вернуть только определенные строки из определенного файла?

Предположим, что несколько коммитов назад я удалил кучу кода, а теперь хочу вернуть часть этого кода.

Некоторое время назад я использовал SourceTree, который позволяет вам просто выбрать строки, которые вы хотите вернуть из предыдущего коммита, и выбрать "Восстановить выбранные строки" (или что-то в этом роде). Сейчас я работаю в Linux и не могу найти GUI с такой функцией; поэтому мне интересно, как можно добиться этого из командной строки.

Первый вариант, который приходит на ум, - вернуть весь коммит, а затем изменить его, включив в него только код, который я хочу вернуть. Есть ли более простой / лучший способ?

1 ответ

Идея, как вы уже сказали:

отмените коммит, сбросьте его, затем повторно добавьте файл, но с помощью опции -p, чтобы вы могли выбрать, какую строку вы хотите.

пример:

git reset --soft HEAD^
git reset HEAD fileA
git add -p fileA
...
commit here
Другие вопросы по тегам