Гит:Показать каждую строку, добавленную пользователем в текущей ветке

StackOverflow https://stackoverflow.com//questions/11679759

  •  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 должен дать «нетехническому» человеку некоторое представление о том, что вы сделали;все, что им действительно нужно понять, это то, что строки, начинающиеся с + это строки, которые вы добавили, и строки, начинающиеся с - это строки, которые вы удалили.Просмотрите несколько различий для некоторых файлов, и они поймут это и смогут прочитать остальную часть файла самостоятельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top