Игнорирование определенных файлов, типов файлов или папок в разрыве запроса 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%
, в моем случае.