Git сравнить файлы missies в целевой ветке, принимает весь код исходной ветки как новый - PullRequest
0 голосов
/ 06 мая 2020

После изменения кода я пытаюсь создать обзор кода с веб-страницы GIT. Исходная ветка - это моя ветка разработчика, а целевая ветка - моя основная ветка. Но похоже, что diff игнорирует весь код основной ветки, принимая каждую строку ветки dev как новую.

Попробовал еще раз на git сравнении веб-страниц, та же проблема.

Я попробовал git diff master..dev file1.py в своей локальной команде ноутбука, и теперь мои изменения отображаются правильно.

После некоторого поиска кажется, что в веб-представлении GIT он сравнивает разницу с последним общим предком, а не с последним кодом как в master, так и в dev. GIT rebase, похоже, решает эту проблему. Но есть ли другой способ справиться с этим? Спасибо!

1 Ответ

0 голосов
/ 06 мая 2020

Вы не сказали, какой веб-интерфейс вы используете, но сейчас я предполагаю, что это GitHub. На GitHub сравнение по умолчанию выполняется с помощью оператора с тремя точками ..., а не с оператором с двумя точками ...

Когда вы выполняете сравнение с git diff master..dev (две точки), оно показывает различия между master и dev. Когда вы проводите сравнение с git diff master...dev (три точки), учитываются симметрии c различий, которые представляют собой диапазон коммитов, доступных с любой стороны, но не с обеих. Вот почему похоже, что вы сравниваете с последним общим предком: потому что это база слияния, а вы являетесь. Если вы хотите провести сравнение с двумя точками, вы можете отредактировать URL-адрес.

Если вам интересно узнать больше, вы можете увидеть страницу руководства gitrevisions(7), а GitHub также имеет документацию .

...