Мне нужно создать diff для одного файла, который покажет различия между двумя версиями, которые на самом деле являются тегами в github. Затем я хочу отправить эту разницу кому-нибудь по электронной почте, чтобы URL-адрес github для сравнения был идеальным. Просмотр сравнения github позволит мне сделать это для всех измененных файлов, но это бесполезно, так как в моем репо тысячи файлов.
Я могу сделать это в командной строке следующим образом, но это не помогает, поскольку мне нужно отправить разницу кому-то по электронной почте:
git diff tag1 tag2 -- path/to/file
Я нашел версию командной строки, обсуждаемую здесь: как я могу увидеть различия в назначенном файле между локальной ветвью и удаленной ветвью?
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}.diff
источникВот мой способ решения следующей проблемы.
Скопируйте необработанное представление файла, который вы хотите сравнить, на https://gist.github.com/ . Используйте две конкретные точки фиксации, которые вы хотите сравнить. Начните со старого коммита.
https://gist.github.com/ имеет удобное параллельное представление различий, когда вы нажимаете «Редакции».
источник
Ответ предназначен для людей, которые хотят видеть (а не загружать) историю / ревизию изменений кода файла на веб-странице GITHUB для предыдущей проверки.
Перейдите к этому файлу в github, затем выберите ИСТОРИЯ . Откроется страница со списком ссылок на комментарии, как показано ниже.
При нажатии на него будут показаны изменения кода. После нажатия на историю; вы можете щелкнуть по пакетам, чтобы увидеть все отметки файлов на уровне пакета.
В eclipse вы можете сравнить историю с помощью плагина EGit и «Щелкните правой кнопкой мыши -> Сравнить с» в файле. Как я могу сравнить две версии в git в Eclipse?
источник
Я использовал ответ nulltoken, чтобы собрать простой удобный скрипт для извлечения разницы между двумя коммитами на GitHub из командной строки.
Вы можете найти полный сценарий в gist , но вот хорошие моменты:
Он принимает в качестве аргументов ветки, коммиты и все остальное, что может быть разрешено
git rev-parse
. Я использовалopen
, который работает только в macOS для открытия веб-страниц, поэтому, если вы находитесь в другой среде, вы захотите настроить это.Как и в случае с ответом nulltoken, чтобы указать на один файл в diff, вам нужно будет щелкнуть заголовок файла, чтобы строка привязки появилась в строке URL-адреса, которую вы затем можете скопировать.
источник
Поскольку это все еще невозможно, вот метод diff-tool на основе браузера. Он не использует автоматизацию, а требует только возможности установки расширений Chrome:
источник