Я вибірково фіксую частини великого файлу, і я хотів би бачити більше контексту навколо кожного куска. Чи можливо це?
Я вибірково фіксую частини великого файлу, і я хотів би бачити більше контексту навколо кожного куска. Чи можливо це?
Відповіді:
Коротка відповідь: ні.
git diffмає -U<n>опцію, яка дозволяє налаштувати кількість рядків для відображення змін. Наприклад, git diff -U5 ...покаже 5 рядків контексту. Наскільки я можу зрозуміти, такої опції для індикації різниці в інтерактивному режимі немає.
git diff -U<n>використовується з обох боків кожного зміненого рядка. Отже, якщо ви змінили один рядок, git diff -U5покаже вам 11 рядків (припускаючи, що один рядок не на початку кінця файлу.)
git diffне для git add --patchабоgit add --interactive
На підтвердження, це все ще неможливо у 2019 році.
Зовнішній інструмент jjlee/git-meld-indexможе допомогти:
git-meld-indexзапускаєтьсяmeld- або будь-який інший git difftool (kdiff3,diffuseтощо) - щоб ви могли інтерактивно індексувати зміни до git-індексу (також відомого як git staging area).
Це схоже на функціональність git add -p, і git add --interactive.
У деяких випадках meld простіший / швидший у використанні, ніж
git add -pфункція постановки в таких інструментах, якgit gui.
Це тому, що meld дозволяє, наприклад,:
- побачити більше контексту ,
- див. внутрішньорядкові різниці
- відредагуйте вручну та перегляньте оновлення різниці в реальному часі (оновлюються після кожного натискання клавіші)
- перейдіть до зміни, не вимовляючи '
n' до кожної зміни, яку ви хочете пропустити
-U<infinity>можливість показати весь файл? (Або велика кількість "досить хороша"?)