Может ли git rerere
быть сконфигурирован так, чтобы он запоминал и применял разрешения слияния для определенных шаблонов файлов? Т.е.: только по рисунку pom.xml
.Git rerere file pattern?
ответ
Это сложный вопрос, но я могу придумать решение, которое включает вызов скрипта сразу после операции слияния (но до любого ручного разрешения).
Прежде всего, кеш-разрешение конфликтов (.git/rr-cache
) - это , хранящийся в хэше блобера, а не по пути к файлу. Нет ничего, чтобы указать, на какой файл были получены разрешения, поэтому я думаю, что взлом в этом каталоге не будет жизнеспособным решением.
This quote от сопровождающего Джунио Хамано также поражает тот факт, что rerere является за слияния, а не за файл:
Существует нет «я не волнует, если есть хорошие резолюции запоминаются , которые не имеют какое-либо отношение к текущему слиянию, просто удалите все из них »- вот что такое« rm -fr .git/rr-cache ».
... что, разумеется, вам не подходит, поскольку выборочное удаление файлов с .git/rr-cache
не подходит для автоматизации в вашем прецеденте.
Функция, используемая для использования, может быть подкомандой forget
, которая принимает путь. Однако «забыв» может произойти только в контексте слияния, что делает его принципиально иным, чем что-то вроде .gitignore
, которое вы можете применять статически.
Но, очевидно, вы могли бы после слияния крюка, который вызывает скрипт, который:
итерации через конфликтующие файлы:
git diff --name-only --diff-filter=U
Для каждого файла, который вы хотите «un-rerere», забудьте об этом:
git rerere forget -- path/to/file
... и восстановить конфликт:
git checkout -m path/to/file
Затем продолжать с слиянием на обычном оставляя разрешения rerere для файлов, которые вы хотите помнить, нетронутыми.
Список файлов, на которые «reerere remembered» может быть проверен в репозитории (возможно, в файле .reremember
) и запрошен из сценария.
- 1. git rerere manual resolution only
- 2. GitHub и «git bpf»: PRs и git rerere
- 3. git workflow: throwaway merges и git-rerere - в чем смысл?
- 4. logstash/grok pattern file
- 5. grunt file glob file extension pattern
- 6. grep mistaking pattern for file?
- 7. Имейте git rerere автоматически маркировать файлы как разрешенные?
- 8. Отмените резолюцию git rerere, которая была сделана в rebase.
- 9. git rerere не выполняет автоматическую фиксацию автоопределенных разрешений слияния
- 10. rerere: как просмотреть исходный конфликт после `autoresolution`?
- 11. Являются ли «git add file» и «git checkout - file» симметричными?
- 12. java static file loading и design pattern
- 13. 10 awk match pattern from file
- 14. Mule File Inbound Move to Pattern
- 15. Git ignore xcodeproj file
- 16. Git Ignore File - Как
- 17. Git Corrupt File Fix
- 18. Git local file overridden
- 19. Git and Batch file
- 20. Git: File Rename
- 21. Git File Integrity
- 22. Ошибка GIT - git-add (Bad File Number)
- 23. Есть ли способ заставить git rerere работать, когда разрешение заключается в удалении конфликтующего файла?
- 24. Git - Submodule to single file
- 25. Git commit stats per file
- 26. Написание Unity Git Ignore File
- 27. Git commit change video file
- 28. Git File Copy With History
- 29. git rebase и file conflict
- 30. Ошибка Git "bad sha1 file"