簡體   English   中英

我的 git 存儲庫更改不斷標記為假定未更改

[英]My git repository changes are constantly flagged as assume-unchanged

多年來,我一直在 windows 上使用 git,沒有出現任何重大問題。 然而,現在已經有一段時間了,我相信我的本地 git 存儲庫有一些緩和的東西,並且不時將我修改的文件標記為假設未更改,以至於我有一個別名來運行我的所有回購文件和update-index --really-refresh --no-assume-unchanged每一個,我幾乎在每個git status之前都使用它。 但這不是生活的方式::P

我已經從我的機器上刪除了 ConEmu,希望這會有所幫助,但沒有得到任何結果(請注意,我可能應該先重新啟動我的機器)。 我懷疑 VS 代碼與它有什么關系。 我迷路了。 是否有任何 git 配置值可能導致此問題?

有沒有人經歷過類似的問題並發現了這種馬基雅維利機制背后的邪惡力量? 我想在整個宇宙中命名和羞辱它......

不過說真的,我們將不勝感激任何幫助。

根據您的評論:某些東西(一些腳本或其他一些過程)正在為您的每個文件設置assume-unchanged標志。

您可以查看您的.git/hooks目錄(也檢查git config core.hooksPath以查看您是否配置了自定義 hooks 目錄),或其他一些將傳遞您的 repo 中所有文件的腳本/任務。

如果您真的不知道可能導致此問題的原因:使用grep -e "assume-unchanged" -r. (嘗試發現一個將運行update-index --assume-unchanged的腳本),首先在您的 repo 中,然后在您的主目錄中,最后從/ ...

好的,所以在弄亂了 vs 代碼、resharper 和 sublime 文本(卸載所有內容、刪除剩余部分、重新啟動機器等等)之后——沒有任何東西可以作為這種奇怪行為背后的原因。

然后我注釋掉了我所有的 gitconfig 文件-並且行為消失了。 然后我很快就弄清楚了這種行為背后的原因是以下配置設置為 true:

core.ignoreStat

我不知道它是如何以及何時潛入我的 gitconfig 文件並設置為 true 的,但希望這將有助於其他可能遇到這種情況的人。

我有一個類似的問題,但在 Linux 上。OP 關於 git 配置的答案對我不起作用,但讓我找到了正確的方向。

git 配置選項core.fsmonitor設置為 true(從我的 Windows 配置中繼承,這是一個提高性能的實驗性選項)。 在我的 Linux 系統上,這導致 git 基本上檢測不到任何文件系統更改。現在我已經刪除它,一切正常。

希望這可以幫助其他人解決同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM