![](/img/trans.png)
[英]Is there a way to make git rerere work when the resolution is to delete the conflicted file?
[英]Git rerere file pattern?
是否可以配置git rerere
以便它只記住並對某些文件模式應用合並解析? 即:只是在模式pom.xml
。
這是一個艱難的,但我可以想到一個解決方案,涉及在合並操作后立即調用腳本(但在任何手動解析之前)。
首先,沖突解決方案的緩存( .git/rr-cache
) 由blob哈希而不是文件路徑存儲 。 沒有任何東西可以指出分辨率實際來自哪個文件,因此我認為在該目錄中進行攻擊並不是一個可行的解決方案。
維護者Junio Hamano的這句話也說明了rerere是每個合並而不是每個文件的事實:
沒有“我不在乎是否記得有很好的解決方案與當前合並沒有任何關系,只需刪除所有這些” - 這就是“rm -fr .git / rr-cache”是什么對於。
...當然對您.git/rr-cache
因為從.git/rr-cache
選擇性地刪除文件並不適合您的用例中的自動化。
要利用的功能可能是使用pathspec的forget
子命令。 “遺忘”只能在合並的上下文中發生,這使得它與你可以靜態應用的.gitignore
之類的根本不同。
但是,可以想象你可以有一個合並后的鈎子來調用一個腳本 :
迭代沖突的文件:
git diff --name-only --diff-filter=U
對於您想要“取消”的每個文件,請忘掉它:
git rerere forget -- path/to/file
......並恢復沖突:
git checkout -m path/to/file
然后,按照慣例繼續進行合並,保留您想要記住的文件的rerere分辨率。
可以將存儲“rerere”的文件列表檢入存儲庫(可能在名為.reremember
的文件中)並從腳本中查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.