Как заставить Github делать `git diff ..` (две точки) вместо` git diff ... `(три точки) - PullRequest
0 голосов
/ 03 июля 2019

Предположим, у меня есть две ветви: master и feature.

Цель состоит в том, чтобы визуально увидеть весь дифференциал между master и feature на Github.Это невозможно по умолчанию, потому что Github использует git diff ... (три точки), который принимает самого последнего общего предка при выполнении различий между двумя ветвями.Это означает, что различия, которые были введены в master после того, как тот общий родительский элемент не будет отображаться в дифференциале с feature, следовательно, делает различие неправильным.

Я ищу решение этой проблемы.

Ответы [ 3 ]

1 голос
/ 03 июля 2019

Звучит так, будто вам не нужна ветвь функций. Если вы уверены, что всегда хотите перезаписать Мастер, просто передайте его непосредственно Мастеру. Но я бы не рекомендовал этого, если вы не единственный человек, работающий в этом хранилище.

Если вы хотите увидеть разницу между коммитами, см. Сравнение коммитов или Сравнение между коммитами

0 голосов
/ 03 июля 2019

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

Предполагая, что мы хотим обновить общего предка между master ответвлением и feature ответвлением, действуйте следующим образом:

  1. Перейдите к masterи git pull --rebase, чтобы убедиться, что у вас установлен последний мастер.
  2. Создайте ветку из master с git branch -b temp_master
  3. Извлечь feature ветку и отсюда запустите git merge -s ours temp_master
  4. Теперь вы можете удалить temp_master и нажать feature с помощью git push -f origin feature

Ваш запрос на git pull теперь будет отображать правильные различия.

0 голосов
/ 03 июля 2019

Хорошо .... Я вроде понимаю, что вы спрашиваете, к чему вы стремитесь ... и что вы хотите сделать, это не правильно.

Итак ... скажем, вы создаете свою ветвь функций.И затем вы изменяете файл a.txt, вы добавляете 5 строк в файл.Тем временем другой разработчик взял этот файл и добавил еще 5 строк (в отдельном месте, без конфликтов) в файл и поместил его в master.

В данный момент, если вы переместили ветку в githubи создал PR, при взгляде на разность файла, вы увидите 5 добавленных строк, а не различие 5 других строк, добавленных другим разработчиком, верно?Это то, что вы ожидаете, потому что ваш PR только добавил эти 5 строк, а не другие 5. Если разность PR показала все различия с мастером все время, разница будетрастут все время по мере того, как мастер движется вперед с изменениями, не связанными с вашим PR ... поэтому github использует ... для вычисления различий, а не ...

Объяснив, что по вашему запросу вы быхотел бы иметь возможность сделать ребаз в мастер ... и затем вы хотели бы сохранить файл, как он есть, на вашей ветви функций , даже если он был модифицирован на мастере?ну, это совершенно чокнутый, потому что это означает, что в ваш PR после такой перебазировки, когда вы его создаете, вы просите удалить другие 5 строк, которые добавил разработчикдо того, когда ваша ветвь объединена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...