Гит:Показать каждую строку, добавленную пользователем в текущей ветке
-
12-12-2019 - |
Вопрос
Мне бы хотелось, чтобы определенный «нетехнический» человек имел лучшее представление о том, что я на самом деле делаю, когда работаю над определенным проектом на GitHub.Я хотел бы создать текстовый файл со ВСЕМ кодом, который я добавил в основную ветку этого проекта.Я хочу поместить его в текстовый редактор и прокрутить все вниз на любом количестве экранов.По сути, это то, чего я хочу, по этой причине статистика «количество строк» или «количество символов» не будет иметь такого же влияния.
В частности, я хочу показать следующее:(первый выбор) все строки, когда-либо добавленные мной, даже если они были удалены позже.
(второй вариант) все строки, которые я внес в последнюю версию (у нас только одна ветка)
Есть ли способ сделать это или хотя бы просто распечатать все строки в текущей ветке?(В любом случае я написал более 90% из них)
Я знаю, что само по себе это не очень полезно, но я чувствую, что этот сценарий находится на расстоянии одного сценария от чего-то более полезного, например, т.е.количество строк.
Фон -> Я относительно новичок в GIT, я использую его из командной строки в Windows.У меня есть некоторый опыт работы с Linux, поэтому меня это не слишком беспокоит.Я также использую Github для этого проекта и у меня есть доступ к клиенту github для Windows (хотя я им не пользуюсь).
Решение
Попробуй это:
git show $(git rev-list --author="Your Name" HEAD)
Это показывает различия, а не «добавленные строки», но различия более значимы.Ни одна автоматизированная процедура не может решить, следует ли считать строку, замененную другой строкой, дополнением или просто модификацией.
Другие советы
Вы можете попробовать что-то вроде следующего, чтобы получить «минимальный» (с нулевыми строками контекста вместо трех) патч всех ваших изменений:
for h in $(git --no-pager log --author='name' --format='%H' HEAD); do git --no-pager diff-tree -U0 $h; done >mychanges.txt
mychanges.txt
должен дать «нетехническому» человеку некоторое представление о том, что вы сделали;все, что им действительно нужно понять, это то, что строки, начинающиеся с +
это строки, которые вы добавили, и строки, начинающиеся с -
это строки, которые вы удалили.Просмотрите несколько различий для некоторых файлов, и они поймут это и смогут прочитать остальную часть файла самостоятельно.