Подтвердить что ты не робот

Сравнение GitHub для текущих версий веток

Есть ли способ использовать GitHub "сравнить представление", чтобы просмотреть разницу между текущими версиями двух ветвей? (То есть, чтобы просмотреть тот же diff, который вы получили бы, если бы вы сделали git diff <a-branch> <another-branch>.)

Я сделал небольшой пример здесь. Есть две ветки: "мастер" и "другая ветвь" . Если я делаю git diff master..other-branch, это diff:

diff --git a/README.md b/README.md
index 495cc9f..3d2c3a0 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 Hello there!
+
+This is a commit to the "other-branch" branch.

Из этой разницы видно, что разница между ветвью "ведущий" и веткой "другая ветвь" - это добавление одной пустой строки и одной строки текста, а удаления нет.

Однако, если я попытаюсь использовать представление сравнения GitHub (https://github.com/akenney/compare-view-test/compare/other-branch или https://github.com/akenney/compare-view-test/compare/master...other-branch), он показывает этот diff:

-This is a commit to the master branch.
+Hello there!
+
+This is a commit to the "other-branch" branch.

Сравнивает ветку "другая ветвь" со старой версией "ведущей" ветки, а не с текущей версией. То же самое происходит, даже если я укажу конкретные коммиты для сравнения (https://github.com/akenney/compare-view-test/compare/8ed0d53...e4470ec) - diff, который он показывает, не является различием между этими двумя коммитами.

4b9b3361

Ответ 1

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

В документации git:

git diff [--options].. [-] [...]

Это синоним предыдущей формы. Если на одной стороне опущено, он будет иметь тот же эффект, что и использование HEAD.

git diff [--options]... [-] [...]

Эта форма предназначена для просмотра изменений в ветки, содержащей и до второй, начиная с общего предка обоих. "git diff A... B" эквивалентен "git diff $(git -мергерная база A B) B". Вы можете опустить любой из них, который имеет тот же эффект, что и использование HEAD.

Ответ 2

GitHub теперь (сентябрь 2018, 4 года спустя) явно поддерживает " Сравнение Git diff с тремя и двумя точками ".

URL https://github.com/github/linguist/compare/c3a414e..faf7c6 будет отображаться:

direct two-dots diff

Сообщение:

This is a direct comparison between two commits made in this repository or its related forks

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