Ответ 1
Если вы используете Windows или Mac OS, вы можете использовать бесплатное SourceTree приложение GUI, которое позволяет вам создавать или удалять каждый кусок ( или даже выбрать строки из каждого столбца) в режиме просмотра.
Я вручную просматриваю огромное количество изменений (в тысячах), сделанных поиском и заменяю script на некоторые каталоги сообщений. На данный момент я делаю git add -p
, но я продолжаю делать перерывы, чтобы проверять другие файлы или настраивать script, поэтому я чередую это с git checkout -p
, чтобы отменить изменения, которые я не хочу. Есть ли способ объединить эти два? То есть для каждого ханка я хочу, чтобы это было возможно, или отбросить его.
Если вы используете Windows или Mac OS, вы можете использовать бесплатное SourceTree приложение GUI, которое позволяет вам создавать или удалять каждый кусок ( или даже выбрать строки из каждого столбца) в режиме просмотра.
как насчет ввода j - leave this hunk undecided, see next undecided hunk
для hunks, которые вы не хотите ставить,
и после всего этого запустите git checkout --
, тогда выбранные ханки будут поставлены, а другие отброшены.
когда вы используете git add -p
, введите ?
, чтобы отобразить справку
Stage this hunk [y,n,q,a,d,/,e,?]?
y - stage this hunk
n - do not stage this hunk
q - quit, do not stage this hunk nor any of the remaining ones
a - stage this and all the remaining hunks in the file
d - do not stage this hunk nor any of the remaining 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
Посмотрели ли вы на git gui. Это утилита, которая поставляется в комплекте с git в эти дни и пытается упростить выполнение сложных операций, которые представляют собой сочетание постановки и проверки. Вы можете прочитать об этом здесь
Вы можете выбрать этап и отказаться от остальных изменений. Выполняя ctrl + j
или cmd + j
, вы можете проверить выбранный файл.
Я знаю, что гораздо быстрее использовать git из оболочки, но в сложных случаях, подобных этим, переключение между разными командами становится накладными.
выполните все, что вам нужно, зафиксируйте, а затем reset или нажмите, чтобы очистить рабочий каталог, чтобы избавиться от того, что вам не нужно.