Игнорирование определенных файлов, типов файлов или папок в разрыве запроса diff

Мы часто используем вкладку "Измененные файлы" в запросе на перенос, чтобы оценить работу, которую мы проводили в филиале, к сожалению, большая часть нашего процесса разработки регенерирует службы Flex, поэтому при просмотре файлов изменилось 99% изменений. не имеет значения. Это позволяет легко пропустить важные изменения, которые необходимо пересмотреть.

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

Есть ли у кого-нибудь предложения, как мы можем это улучшить? В идеале мы исключаем папку из запроса запроса pull.

Ответы

Ответ 1

Теперь у Github есть немного больше возможностей для навигации по запросу pull.

Вы можете фильтровать и переходить к определенным файлам в запросе на перенос. Нажатие t дает вам доступ к этой функции в любом месте запроса на растяжение.

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

? отображает список быстрых клавиш.

Источник: https://github.com/blog/2123-more-code-review-tools

Ответ 2

В настоящее время GitHub не поддерживает способ исключения файлов или папок из запроса на перенос.

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

Цель состоит в том, чтобы исключить папки и файлы из разницы, но в то же время вы не хотите объединять изменения служб до того, как будет готов весь запрос на перенос. Это решение не идеально, но вы могли:

  • Зафиксировать и нажимать папки, которые вам не интересны при просмотре - branch A
  • Разделите и скопируйте файлы, которые вы действительно планируете сравнить - branch B
  • Откройте запрос на растяжение от B до A, и вы увидите только то, что вас интересует.

Несколько вещей, которые мне не нравятся с этим предложением:

  • Вам нужно будет каким-то образом автоматизировать это, иначе это будет слишком много ручной работы (a bash script?)
  • Если вам нужно изменить свой код как часть обзора, вам придется повторить этот процесс, возможно, потому, что вы хотите, чтобы эти файлы были сгенерированы. Это приведет к победе в хорошем значении разговора по запросу, когда вы увидите историю изменений.

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

Надеюсь, что это поможет, или это дает другим пользователям что-то начать.

Ответ 3

Хотя вы не можете исключать файлы из запроса Pull, вы можете (с декабря 2018 года) их фильтровать.

См. " Фильтр файлов запроса запроса ":

На вкладке "Файлы изменено" запроса на вытягивание вы можете:

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

См. Документацию " Фильтрация файлов в запросе на перенос по типу файла "

https://help.github.com/assets/images/help/pull_requests/file-filter-menu.png

Вы можете увидеть анимированную версию этой новой функции в этом твите.

И не забывайте, что вы уже можете показывать только имена файлов, с коллапсом all/show all toggle, с помощью Alt + Click на стрелке в режиме просмотра.

Примечание. Фильтр пока не поддерживает регулярные выражения. Для этого вам все равно потребуется расширение Chrome.

Ответ 4

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

const fileElements = document.querySelectorAll("*[data-path*='vendor']")
fileElements.forEach(el => el.parentElement.remove())

Это удалит все различия в файлах, которые соответствуют %vendor%, в моем случае.