Чи можливо git-checkout одного рядка замість цілого файлу?


86

Якщо я змінив кілька рядків файлу версій, чи можна скасувати зміни рядка за допомогою командного рядка?

Як і для всього файлу з:

git checkout /path/to/file.extension

але робити щось на зразок, скажімо

git checkout /path/to/file.extension --line 10

це можливо?

Відповіді:


124

Ви можете використовувати, git checkout -pщоб побачити кожен шматок окремо і вирішити, перевіряти їх чи залишати такими, як вони є (і це бере необов’язковий аргумент шляху, якщо ви хочете ще більше звузити).


Цей метод дає занадто великі частини, замість рядків ... :(
betontalpfa

46

Щоб детальніше відповісти на відповідь Метта, git checkout --patch -- <path argument>запускається інтерактивний режим із наступними опціями:

y - stage this hunk
n - do not stage this hunk

q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk

s - split the current hunk into smaller hunks
e - manually edit the current hunk

? - print help

Параметри y n sта e- це гарне місце для початку.

Дивіться також:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.