Просмотр истории изменений файла с помощью управления версиями Git

Как я могу просмотреть историю изменений отдельного файла в Git, полную информацию о том, что было изменено?

Я дошел до:

git log -- [filename]

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

Я пытаюсь перейти с MS SourceSafe, и раньше это был простой right-clickshow history.

Вышеупомянутая ссылка больше не действительна. Эта ссылка сегодня работает: Книга сообщества Git

chris 10.05.2010 12:58

Ссылка выше (опубликованная Крисом) больше не действительна. Эта ссылка сегодня работает: git-scm.com/book/en/v2

Cog 24.04.2019 01:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3 309
2
1 840 437
24
Перейти к ответу Данный вопрос помечен как решенный

Ответы 24

Если вы используете графический интерфейс git (в Windows) в меню «Репозиторий», вы можете использовать «Визуализировать историю мастера». Выделите фиксацию на верхней панели и файл в правом нижнем углу, и вы увидите разницу для этой фиксации в нижнем левом углу.

Как это отвечает на вопрос?

jmbeck 22.07.2013 18:42

Что ж, OP не указывал командную строку, и, переходя от SourceSafe (который является графическим интерфейсом пользователя), казалось уместным указать, что вы можете делать почти то же самое, что вы можете делать в VSS в графическом интерфейсе Git в Windows.

cori 22.07.2013 19:34

Вы можете использовать

git log -p filename

чтобы позволить git генерировать патчи для каждой записи журнала.

Видеть

git help log

для дополнительных опций - он действительно может делать много хороших вещей :) Чтобы получить только разницу для конкретного коммита, вы можете

git show HEAD 

или любая другая ревизия по идентификатору. Или используйте

gitk

для просмотра изменений визуально.

git show HEAD показывает все файлы, знаете ли вы, как отслеживать отдельный файл (как просил Ричард)?

Jonas Byström 17.02.2011 20:13

вы используете: git show <revision> - имя файла, которое покажет различия для этой ревизии, если она существует.

Marcos Oliveira 10.02.2012 01:44

--stat также полезен. Вы можете использовать его вместе с -p.

Raffi Khatchadourian 10.05.2012 02:29

Отлично. gitk плохо себя ведет при указании путей, которые больше не существуют. Я использовал git log -p - path.

Paulo Casaretto 27.02.2013 22:05

Плюс gitk выглядит так, будто его построил монстр буги-вуги. Это отличный ответ, который лучше всего подходит для исходного вопроса.

ghayes 21.07.2013 23:28

добавление --follow также учитывает переименование файлов.

Amir Ali Akbari 25.10.2013 21:51

На этот вопрос есть лучший ответ, в котором используется флаг --follow.

s g 21.10.2016 05:19

Мне нравится ответ @ghayes: p И +1 за этот ответ; Я считаю, что хороший терминал может отображать разницу гораздо четче, чем визуальный инструмент.

sunny-mittal 19.12.2017 22:45

git log --follow -p file_path должен быть принят ответ

M Holod 17.05.2018 17:47
-p = Generate patch = показать разница кроме фиксации описание
Qback 11.07.2018 14:26

git whatchanged -p filename в этом случае также эквивалентен git log -p filename.

Вы также можете увидеть, когда определенная строка кода внутри файла была изменена с помощью git blame filename. Это распечатает короткий идентификатор фиксации, автора, метку времени и полную строку кода для каждой строки в файле. Это очень полезно после того, как вы обнаружили ошибку и хотите знать, когда она появилась (или кто виноват в ней).

«Новым пользователям рекомендуется использовать вместо этого git-log. (...) Команда сохраняется в основном по историческим причинам»;

ciastek 18.03.2014 12:03
Ответ принят как подходящий

Для графического представления я бы использовал gitk:

gitk [filename]

или следовать за именем файла после переименований

gitk --follow [filename]

Но у меня даже есть инструмент, сочетающий вышесказанное с git blame, позволяющий мне просматривать источник файла по мере его изменения во времени ...

Egon Willighagen 06.04.2010 19:50

GitWeb - ответ на этот вопрос.

Jonas Byström 17.02.2011 20:16

К сожалению, это не соответствует истории прошлых переименований файла.

Dan Moulding 31.03.2011 03:17

Я также искал историю файлов, которые были ранее переименованы, и первым нашел эту ветку. Решение состоит в том, чтобы использовать «git log --follow <filename>», как указал Фил здесь.

Florian Gutmann 26.04.2011 13:05

Автор искал инструмент командной строки. Хотя gitk поставляется с GIT, это не приложение командной строки и не особо хороший графический интерфейс.

mikemaccana 18.07.2011 19:17

Хороший совет. На моей машине (git v1.7.10) мне пришлось использовать gitk -- [filename].

n0nick 31.07.2012 18:07

Он искал инструмент командной строки? "щелчок правой кнопкой мыши -> показать историю", конечно, не подразумевает этого.

hdgarrood 13.05.2013 18:57

Внимание! Пользователи Windows ... Путь к имени файла чувствителен к регистру.

MattSlay 23.09.2013 20:17

@DanMoulding: gitk --follow [filename] показывает историю последних переименований файла. Однако он не показывает изменения содержимого файла перед переименованием. См. Ответ это.

Matthias Braun 20.02.2014 19:07

если этот файл удален, и вы хотите узнать, кто его удалил, следует использовать git log -- [filename]

hiway 16.04.2014 06:50

не ищу ничего, кроме git, это не должен быть принятый ответ

Cosmin 28.04.2015 17:30
gitk не входит в базовый пакет git. Вам необходимо загрузить пакет tk, чтобы использовать gitk. @ VolkA ответ лучше, git log -p filename работает без каких-либо зависимостей.
aaron-coding 23.01.2016 00:12

Возник вопрос: «Просмотрите историю изменений файла с помощью управления версиями Git». Это именно то, что делает gitk. Он ищет изменения в истории коммитов git. Меня не волнует, является ли он частью базового пакета git, если он выполняет свою работу быстро и просто.

Mike76 09.08.2016 21:13

@HenriquedeSousa: Потому что спрашивающий посчитал этот ответ самым полезным ему.

Martin Bonner supports Monica 24.08.2016 12:28

gitk работает как шарм. это помогло мне проверить историю одного файла, именно то, что мне было нужно.

sunlover3 28.09.2016 12:36

Есть ли способ сделать это с помощью gitGUI?

Preshan Pradeepa 16.07.2017 10:01

голосование против из-за использования другого инструмента, лучше использовать стандартный cli из ответа stackoverflow.com/a/278242/1700569

coolxeo 23.11.2017 19:11

В принятом ответе следует учитывать, что не у всех в системе установлен gitk. Если бы я был в среде только с интерфейсом командной строки, не было бы доступного графического интерфейса. OP попросил использовать команду "git". Использование gitweb, gitk или чего-то еще - это то же самое, что сказать «просто зайдите на GitHub и проверьте там историю».

Martin 24.01.2018 12:15

Этот ответ не должен быть принятым imo. Я лично использую Gitx, а не Gitk, но мне тоже не нужен ответ, специфичный для Gitx. Ответ git log -p ниже гораздо более применим для большинства пользователей.

D G 22.05.2018 16:57

независимо от того, каким должен быть принятый ответ, +1 за содействие умопомрачительным действиям gitk

frostini 11.09.2018 14:48

Что такое gitk?

Jim Aho 15.11.2018 22:58

@JimAho инструмент визуализации git

ncopiy 02.04.2019 16:16

почему этот ответ считается правильным, если он предлагает использовать стороннюю утилиту? правильный ответ остается ниже (@DanMoulding является автором)

ncopiy 02.04.2019 16:18

Если вы пришли, как и я, из среды Windows и не знаете, что такое gitk, вы найдете его как часть Git for Windows. Запуск из приложения git-bash.exe (эмулятора командной строки Linux). Git for Windows, git bash и gitk потрясающие ...

AlainD 05.03.2021 04:12

Чтобы показать, какая редакция и автор последний раз изменяли каждую строку файла:

git blame filename

или если вы хотите использовать мощный графический интерфейс пользователя:

git gui blame filename

Или же:

gitx -- <path/to/filename>

если вы используете gitx

По какой-то причине мой gitx открывается пустым.

IgorGanapolsky 04.09.2011 20:19

@IgorGanapolsky, вы должны убедиться, что находитесь в корне вашего репозитория git

zdsbs 03.01.2014 22:17

git log --follow -p -- path-to-file

Это покажет историю весь файла (включая историю помимо переименований и с различиями для каждого изменения).

Другими словами, если файл с именем bar когда-то назывался foo, то git log -p bar (без опции --follow) будет отображать историю файла только до того момента, когда он был переименован - он не будет отображать историю файла, когда он был известен. как foo. Использование git log --follow -p bar покажет всю историю файла, включая любые изменения в файле, когда он был известен как foo. Опция -p гарантирует включение различий при каждом изменении.

Я нахожу это немного странным, но вы не можете использовать флаг -CC с log --follow file, иначе он ничего не найдет (git 1.7.0.4).

Mikko Rantalainen 09.02.2012 16:45

--stat также полезен. Вы можете использовать его вместе с -p.

Raffi Khatchadourian 10.05.2012 02:29

Я согласен, это НАСТОЯЩИЙ ответ. (1.) --follow гарантирует, что вы видите переименования файлов (2.) -p гарантирует, что вы видите, как файл изменяется (3.) это только командная строка.

Trevor Boyd Smith 11.09.2012 22:54

Добавьте -- перед вашим file, и это будет абсолютно лучший ответ!

NHDaly 04.03.2014 01:25

Вау. Меня устраивает. stackoverflow.com/a/1321962/3034747 и stackoverflow.com/a/5493663/3034747 нет. Не знаю почему .. Я использую Ubuntu и GIT версии 2.0.2

Yana Agun Siswanto 08.12.2014 09:41

«фатальный: неоднозначный аргумент 'my_file_name': неизвестная ревизия или путь не в рабочем дереве».

Sarah Vessels 09.03.2015 18:27

@NHDaly Я заметил, что был добавлен --, но я не знаю, почему это лучше всего? Что он делает?

Benjohn 27.05.2015 18:10

@Benjohn Параметр -- сообщает Git, что он достиг конца параметров и что все, что следует за --, следует рассматривать как аргумент. Для git log это имеет значение только в том случае, если у вас есть путь, начинающийся с бросаться. Допустим, вы хотите узнать историю файла с неудачным именем "--follow": git log --follow -p -- --follow

Dan Moulding 28.05.2015 19:10

@Benjohn: Обычно -- полезен, потому что он также может защитить от любых имен revision, которые соответствуют введенному вами имени файла, что на самом деле может напугать. Например: если у вас есть и ветка, и файл с именем foo, git log -p foo будет показывать историю журнала git до foo, а не историю для файлfoo. Но @DanMoulding прав в том, что, поскольку команда --follow принимает в качестве аргумента только одно имя файла, в этом нет необходимости, поскольку это не может быть revision. Я только что узнал об этом. Может быть, вы были правы, когда не упомянули об этом в своем ответе; Я не уверен.

NHDaly 30.05.2015 09:03

Это безумие, как далеко на длинной странице документации по git журнал нужно прочитать до раздела «Генерация патчей с -p». Этот ответ отлично объясняет --follow, было бы полезно объяснить и -p.

dumbledad 20.02.2016 12:59

на самом деле @JohnLawrenceAspden поднял хороший момент (в своем ответе), чтобы также включить --all для просмотра истории файлов во всех ветвях. может быть полезно в некоторых случаях.

cregox 18.03.2017 12:46

Будьте осторожны, чтобы не ввести неправильно имя файла (я забыл букву «s» в конце имени файла). В журнале git вы увидите сообщение skipping..., за которым следует серия тильд ~ (предположительно, по одной для каждой фиксации / я не знаю).

The Red Pea 21.12.2017 17:11

Выкидывающая ошибка. fatal: unrecognized argument: --folow. Но команда git log -p <file/to/the/path> работала.

Asim K T 29.07.2018 05:37

Ответ, который я искал, которого не было в этой теме, - это увидеть изменения в файлах, которые я подготовил для фиксации. т.е.

git diff --cached

Если вы хотите включить локальные (неустановленные) изменения, я часто запускаю git diff origin/master, чтобы показать полные различия между вашей локальной и главной ветвью (которые можно обновить удаленно через git fetch).

ghayes 21.07.2013 23:47

Если вы предпочитаете оставаться на основе текста, вы можете использовать тигр.

Быстрая установка:

  • apt-get: # apt-get install tig
  • Домашнее пиво (OS X): $ brew install tig

Используйте его для просмотра истории одного файла: tig [filename]
Или просмотрите подробную историю репо: tig

Аналогичен gitk, но основан на тексте. Поддерживает цвета в терминале!

Отличный текстовый инструмент, отличный ответ. Я испугался, когда увидел зависимости для установки gitk на мой безголовый сервер. Проголосовал бы снова A +++

Tom McKenzie 24.10.2012 09:28

Вы также можете посмотреть определенные файлы с помощью tig, например tig -- path/to/specific/file

gloriphobia 27.10.2017 15:05

Если вы хотите увидеть всю историю файла, включая в ветках все остальные используйте:

gitk --all <filename>

Я написал git-воспроизведение именно для этой цели

pip install git-playback
git playback [filename]

Это имеет то преимущество, что результаты отображаются в командной строке (например, git log -p), а также позволяет вам проходить каждую фиксацию с помощью клавиш со стрелками (например, gitk).

С помощью отличного Расширения Git вы переходите к точке в истории, где файл все еще существовал (если он был удален, в противном случае просто переходите в HEAD), переключаетесь на вкладку File tree, щелкаете правой кнопкой мыши по файлу и выбираете File history.

По умолчанию он следует за файлом через переименования, а вкладка Blame позволяет увидеть имя данной ревизии.

У него есть некоторые незначительные ошибки, например, отображение fatal: Not a valid object name на вкладке View при нажатии на ревизию для удаления, но я могу с этим жить. :-)

Стоит отметить, что это только для Windows.

Evan Hahn 10.05.2013 00:39

@EvanHahn неточно, через моно можно использовать GitExtension также в Linux, мы используем его в ubuntu и вполне довольны этим. см. git-extensions-documentation.readthedocs.org/en/latest/…

Shmil The Cat 09.08.2015 20:42

Краткое изложение других ответов, прочитанных и немного поигравших:

Обычная команда командной строки будет

git log --follow --all -p dir/file.c

Но вы также можете использовать либо gitk (gui), либо tig (text-ui), чтобы сделать его более понятным для человека.

gitk --follow --all -p dir/file.c

tig --follow --all -p dir/file.c

В debian / ubuntu команда установки этих прекрасных инструментов выглядит так, как ожидалось:

sudo apt-get install gitk tig

И в настоящее время я использую:

alias gdf='gitk --follow --all -p'

так что я могу просто набрать gdf dir, чтобы получить целенаправленную историю всего в подкаталоге dir.

Думаю, это отличный ответ. Возможно, вас тоже не проголосуют, потому что вы отвечаете другими способами (имхо лучше), чтобы увидеть изменения, то есть через gitk и tig в дополнение к git.

PopcornKing 25.02.2013 21:11

Просто чтобы добавить к ответу. Найдите путь (в пространстве git, до которого все еще существует в репозитории). Затем используйте указанную выше команду «git log --follow --all -p <folder_path / file_path>». Может случиться так, что папка filde / была бы удалена из истории, поэтому найдите максимальный путь, который еще существует, и попытайтесь получить его историю. работает !

parasrish 16.08.2016 13:04
--all предназначен для всех веток, остальное объясняется в ответе @Dan
cregox 18.03.2017 12:44

О, чувак, после столь долгого поиска хорошего решения для отслеживания файлов, помимо переименований, я наконец нашел его здесь. Работает как шарм! Спасибо!

xZero 08.03.2019 17:34

Если вы используете eclipse с подключаемым модулем git, у него есть отличный обзор для сравнения с историей. Щелкните файл правой кнопкой мыши и выберите «сравнить с» => «история».

Однако это не позволит вам найти удаленный файл.

avgvstvs 27.09.2013 17:22

Сравнение двух версий файла отличается от просмотра истории изменений файла.

golimar 07.05.2015 13:22

git diff -U <filename> даст вам унифицированный diff.

Он должен быть окрашен в красный и зеленый цвета. Если это не так, запустите сначала: git config color.ui auto.

Добавьте этот псевдоним в свой .gitconfig:

[alias]
    lg = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\n--abbrev-commit --date=relative

И используйте такую ​​команду:

> git lg
> git lg -- filename

Вывод будет выглядеть почти так же, как вывод gitk. Наслаждаться.

После того, как я запустил этот ярлык lg, я сказал (и цитирую) «Красиво!». Однако обратите внимание, что "\ n" после "--graph" является ошибкой.

jmbeck 22.07.2013 18:40

Также можно использовать git lg -p filename - он возвращает красивый diff искомого файла.

Egel 27.03.2015 15:11

Пользователи SourceTree

Если вы используете SourceTree для визуализации своего репозитория (это бесплатно и неплохо), вы можете щелкнуть файл правой кнопкой мыши и выбрать Выбран журнал

Дисплей (ниже) намного удобнее, чем gitk и большинство других перечисленных опций. К сожалению (в настоящее время) нет простого способа запустить это представление из командной строки - интерфейс командной строки SourceTree в настоящее время просто открывает репозиторий.

Мне особенно нравится опция «Следить за переименованными файлами», которая позволяет увидеть, был ли файл переименован или перемещен.

Chris 13.03.2015 16:07

но если я не ошибаюсь (пожалуйста, дайте мне знать!), в графическом интерфейсе можно одновременно сравнивать только две версии? Есть ли клиенты, у которых есть элегантный интерфейс, позволяющий различать сразу несколько разных версий? Возможно, с уменьшенным изображением, как в Sublime Text? Думаю, это было бы действительно полезно.

Sam Lewallen 30.06.2015 09:16

@SamLewallen Если я правильно понял, вы хотите сравнить три разных коммита? Это похоже на трехстороннее слияние (мое, ваше, базовое) - обычно эта стратегия используется для разрешения конфликтов слияния, не обязательно для сравнения трех произвольных коммитов. Есть много инструментов, которые поддерживают трехстороннее слияние stackoverflow.com/questions/10998728/…, но хитрость заключается в том, что для этих инструментов используются определенные версии gitready.com/intermediate/2009/02/27/….

Mark Fox 30.06.2015 21:47

Спасибо, Марк Фокс, вот что я имею в виду. Вы случайно не знаете какие-нибудь приложения, которые будут это делать?

Sam Lewallen 30.06.2015 22:02

Вы спасаете мне жизнь. Вы можете использовать gitk, чтобы найти хэш SHA1, а затем открыть SourceTree, чтобы ввести Log Selected.. на основе найденного SHA1.

AechoLiu 25.01.2018 09:58

Идеально. Я искал такое же решение в сообществе ATLASSIAN community.atlassian.com/t5/Sourcetree-questions/…

夜一林风 22.03.2018 09:36

@AechoLiu Зачем вам SHA, если у вас уже есть имя файла? (В любом случае, если вам нужен SHA, вы также можете найти его с помощью SourceTree.)

Marnen Laibow-Koser 14.03.2019 02:14

@ MarnenLaibow-Koser Я не могу вспомнить, зачем мне тогда нужен SHA. Ахаха.

AechoLiu 14.03.2019 03:30

Если вы используете TortoiseGit, вы сможете щелкнуть файл правой кнопкой мыши и выполнить TortoiseGit --> Show Log. В появившемся окне убедитесь:

  • Опция «Show Whole Project» не отмечена.

  • Опция «All Branches» отмечена.

TortoiseGit (а также Eclipse Git) как-то пропускает ревизии выбранного файла, не рассчитывайте на это!

Noam Manos 30.11.2015 13:54

@NoamManos, я не сталкивался с этой проблемой, поэтому я не могу проверить правильность вашего утверждения.

user3885927 01.12.2015 02:20

Моя ошибка, это происходит только в Eclipse, но в TortoiseGit вы можете видеть все версии файла, если сняли флажок «показать весь проект» + отметили «все ветки» (в случае, если файл был зафиксирован в другой ветке, до того, как он был объединен с основным ветка). Я обновлю твой ответ.

Noam Manos 01.12.2015 15:06

Вы также можете попробовать это, в котором перечислены коммиты, которые изменили определенную часть файла (реализовано в Git 1.8.4).

Возвращенным результатом будет список коммитов, которые изменили эту конкретную часть. Команда:

git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

где upperLimit - это start_line_number, а lowerLimit - это конечный_line_number файла.

Подробнее на https://www.techpurohit.com/list-some-useful-git-commands

Недавно я обнаружил tig и нашел его очень полезным. В некоторых случаях я бы хотел, чтобы он выполнял A или B, но в большинстве случаев это довольно аккуратно.

В вашем случае tig <filename> может быть тем, что вы ищете.

http://jonas.nitro.dk/tig/

на centos yum установить tig

zzapper 24.01.2019 15:24

SmartGit:

  1. В меню включить отображение неизмененных файлов: Просмотр / Показать неизмененные файлы
  2. Щелкните файл правой кнопкой мыши и выберите «Журнал» или нажмите «Ctrl-L».

Вы можете использовать vscode с GitLens, это очень мощный инструмент. После установки GitLens перейдите на вкладку GitLens, выберите FILE HISTORY, и вы сможете просмотреть его.

Я, наверное, о том, где был OP, когда это началось, ищу что-то простое, что позволило бы мне использовать git difftool с vimdiff для просмотра изменений файлов в моем репо, начиная с определенного коммита. Я был не очень доволен найденными ответами, поэтому я скинул этот сценарий git incremental представительorter (gitincrep) вместе, и он мне пригодился:

#!/usr/bin/env bash

STARTWITH = "${1:-}"
shift 1

DFILES=( "$@" )

RunDiff()
{
        GIT1=$1
        GIT2=$2
        shift 2

        if [ "$(git diff $GIT1 $GIT2 "$@")" ]
        then
                git log ${GIT1}..${GIT2}
                git difftool --tool=vimdiff $GIT1 $GIT2 "$@"
        fi
}

OLDVERS = ""
RUNDIFF = ""

for NEWVERS in $(git log --format=format:%h  --reverse)
do
        if [ "$RUNDIFF" ]
        then
                RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
        elif [ "$OLDVERS" ]
        then
                if [ "$NEWVERS" = "${STARTWITH:=${NEWVERS}}" ]
                then
                        RUNDIFF=true
                        RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
                fi
        fi
        OLDVERS=$NEWVERS
done

Вызывается без аргументов, он будет начинаться с начала истории репо, в противном случае он начнется с любого сокращенного хеша фиксации, который вы предоставите, и перейдет к настоящему моменту - вы можете в любой момент выйти с помощью Ctrl-C. Любые аргументы после первого будут ограничивать отчеты о различиях, чтобы включать только файлы, перечисленные среди этих аргументов (что, я думаю, это то, что хотел OP, и я бы рекомендовал для всех, кроме крошечных проектов). Если вы проверяете изменения в определенных файлах, которые и хочет начать с самого начала, вам нужно будет предоставить пустую строку для arg1. Если вы не являетесь пользователем vim, вы можете заменить vimdiff своим любимым инструментом сравнения.

Поведение - выводить комментарии фиксации при обнаружении соответствующих изменений и предлагать запуски vimdiff для каждого измененного файла (это поведение git difftool, но здесь оно работает).

Этот подход, вероятно, довольно наивен, но, просматривая множество решений здесь и в соответствующем посте, многие включали установку новых инструментов в системе, в которой у меня нет доступа администратора, с интерфейсами, которые имели свою кривую обучения. Приведенный выше сценарий делал то, что я хотел, не обращая на это внимания. Я рассмотрю множество отличных предложений здесь, когда мне понадобится что-то более сложное, но я думаю, что это напрямую связано с OP.

В пользовательском интерфейсе Sourcetree (https://www.sourcetreeapp.com/) вы можете найти историю файла, выбрав опцию «Журнал выбранных» в контекстном меню правой кнопки мыши:

Он покажет историю всех коммитов.

Откуда этот графический интерфейс?

colidyre 31.03.2020 05:24

Sourcetree UI. Спасибо

savvyBrar 06.04.2020 00:55

что такое окна?

Emobe 10.06.2020 13:12

Другие вопросы по теме