[英]Are there any downsides to enabling git rerere?
我已經閱讀了有關 git 的rerere
功能的各種內容,我正在考慮啟用它。
git rerere
功能有點隱藏功能。 這個名字代表“重用記錄的解決方案” ,顧名思義,它允許你讓 Git 記住你是如何解決一個大塊沖突的,以便下次它看到相同的沖突時,Git 可以自動為你解決它.
但是我沒有看到任何人提到使用rerere
可能出現的任何問題。
我必須假設有一個缺點,否則它可能會默認啟用。 那么啟用 rerere 有什么缺點嗎? 它會導致哪些不會發生的潛在問題?
正如 JC Hamano 在他的文章“ Fun with rerere ”中提到的
- Rerere 記得您是如何選擇解決沖突區域的;
- Rerere 還記得您如何在沖突區域之外進行調整以適應語義變化;
- Rerere 可以重用以前的解決方案,即使您合並的兩個分支的內容與之前解決的分支的內容不同。
即使是長期使用 rerere 的人,也常常沒有注意到最后一點。
因此,如果您在太廣泛的內容上激活rerere
,由於最后一點,您可能最終會得到令人驚訝或令人困惑的合並解決方案。
我已經在全球啟用了 rerere。 我真的沒有注意到任何問題,它通常似乎讓我的生活更輕松。
我選擇了一個僅包含二進制文件的提交(在 gitk 中)。 Cherrypick 由於沖突而失敗(想到這是很自然的),我解決了保留cherry pick 的沖突。 后來我驚訝地發現在另一個重新定位的分支中,我的 dll 沒有表現 - 只是發現它們沒有作為(我推測)自動沖突解決方案被帶入重新定位。 所以這是我遇到的唯一一個遇到違反直覺(盡管我確信完全一致)行為的情況(啟用了 rerere)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.