簡體   English   中英

如何阻止 OneDrive 在 Windows 上下載 git.exe?

[英]How do I stop OneDrive from downloading git.exe on Windows?

我在 Windows 上使用 Git 有一段時間了,但最近更改了設置並得到了這個。

在幾乎每個 Git Bash 命令(也在 PowerShell 和 Github Desktop 上)我得到

git.exe is being downloaded on OneDrive

(翻譯可能不完全一樣)

最近更改的設置是將我的存儲庫移動到 OneDrive 文件夾,以便它們在兩個會話之間同步:即工作桌面和遠程虛擬機。

我可以看到這可能並不理想,但它確實對我有用,因為我在兩個會話中都有相同的設置,並且不太習慣執行許多提交推拉。 不是這里的主要話題,但請隨時發表評論。

(編輯):在閱讀解決方案時,還有其他方法可以設置這種同步,不會與 Git 的內部結構混亂。 尋找那個。 謝謝。

無論如何,奇怪的是通知只發生在遠程虛擬機上,而不發生在桌面上。

我在存儲庫中看到了一些關於某些文件的通知,然后我將這些通知歸因於 OneDrive 對我移動文件的每一個動作都很八卦。 但是后來我也看到了我不知道的文件,並且通知中總是git.exe

在第一個場景中,我嘗試調低 OneDrive 的通知。 有人可能會說微軟確實有不讓用戶設置他們的通知的背景,所以我還在尋找。

謝謝。

大多數文件同步工具(如 OneDrive 和 Dropbox)通過逐個文件同步數據來運行。 如果您正在處理單個文字處理文檔或電子表格,這是一種很好的方法。 但是,當您使用 Git 存儲庫時,它就沒有那么好了。

在分支之間更改或進行提交時,Git 會同時更改並創建大量文件。 為了正確同步,所有創建的文件必須以類似的順序寫入:必須寫入所有 blob,然后是樹,然后是提交,然后可以更新引用。 如果您不按順序執行此操作,則您的存儲庫可能會損壞,因為您的分支可能會引用不存在的對象(或引用不存在的其他對象的對象)。

此外,這些工具最終可能會刪除您希望在工作樹中擁有的文件或重新創建您沒有的文件。 所以總的來說,您不希望使用這些工具之一同步任何 Git 存儲庫。

您可以使用git bundle編寫一個包文件並同步它,或者您可以使用rsync來同步存儲庫,前提是它在您這樣做時處於空閑狀態(未被修改)。 請注意,如果您同步工作樹,當您將其同步到新機器時,Git 將需要刷新所有文件,而且 Git 不會嘗試防御有權訪問工作樹的不受信任的用戶。

通過 OneDrive 同步您的 Git 安裝本身也不是一個好主意,這聽起來可能正在發生。 相反,在每台機器上獨立安裝適用於 Windows 的 Git,不要嘗試同步它。 OneDrive 應具有可讓您控制同步內容的配置選項。

暫無
暫無

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

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