簡體   English   中英

忽略跟蹤的文件更改

[英]Ignore tracked file changes

我有一個由 git 跟蹤的文件config.txt ,它在git clone上下載,但我不希望任何人更改並提交它,即如果有人更改該文件,我不希望他們的更改被跟蹤因此提交 &不小心推了。

我仍然希望稍后能夠添加config.txt的潛在更改,但是以明確的方式(可能是git add -f config.txt或其他)。

這樣做的額外步驟也是不可取的,因此git update-index --skip-worktreegit update-index --assume-unchanged不是一個足夠好的解決方案,因為它容易出現人為錯誤。

是否可以在 git 中這樣做?

您不能忽略對 Git 中跟蹤文件的更改。 Git 常見問題解答說明

Git 沒有提供執行此操作的方法。 原因是如果 Git 需要覆蓋這個文件,例如在結帳時,它不知道對文件的更改是否寶貴並且應該保留,或者它們是否無關緊要並且可以安全地銷毀。 因此,它必須采取安全路線並始終保護它們。

嘗試使用 git 更新索引的某些功能是很誘人的,即假設不變和跳過工作樹位,但這些不能正常工作,不應該以這種方式使用。

如果您的目標是使用配置文件,那么最好的做法是添加示例或模板文件,然后讓用戶將其復制到位或讓腳本創建適當的文件。 然后,您應該忽略實際配置文件的位置,只簽入示例或模板。

該問題的一種可能解決方案是在克隆存儲庫后“跳過”跟蹤文件:

git update-index --skip-worktree <path-name>

不利的一面是,這需要所有用戶在克隆存儲庫后執行額外的步驟,因此您可以將其添加到您的README

暫無
暫無

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

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