2017-08-29 41 views
0

我有一個文件,該文件是在我的git:保存文件的Git倉庫,而忽略本地修改/刪除

dir1/.thisfile 

.thisfile內容是「你好」 現在我想,當用戶做git clone他們有這個文件。 之後,我希望用戶刪除文件或編輯本地文件的內容,但我希望這被git忽略。

我該如何做到這一點? 我已將該文件放在我的.gitignore中,但是當我刪除它或更改它時,它將被暫存。 Gitignore似乎只適用於那些不在我的gitrepo中的文件。

+0

檢查文檔:https://git-scm.com/docs/gitignore 它有很多有用的信息,您正在嘗試做什麼 –

+0

可能的重複:https:// stackoverflow。com/questions/3319479/can-i-git-commit-a-file-and-ignore-its-content-changes – ZeekHuge

+0

它是應用程序的配置文件嗎? – CodeCaster

回答

0

我不太確定我完全理解你,但如果你想暫時隱藏被包含在提交你可以使用一個文件:

git update-index --assume-unchanged <file> 

...並且改變回來,如果/當需要與:

git update-index --no-assume-unchanged <file> 

希望這會有所幫助。

+0

此解決方案是否適用於所有用戶?我想找到一種克隆用戶的方式會產生一個特定的文件(並且他們可以刪除這個文件或者在他們的本地git中編輯這個文件),但是這個特定文件的所有變化都會被git忽略。原來仍然在Git回購 – DenCowboy

+0

好了,現在我明白了。我的解決方案適用於您的索引,所以我想它不能解決您的問題。這個IMO沒有內置的解決方案,但我有一個想法,我會發佈一個單獨的答案。 –

0

如果您有該文件回購,無論是否在.gitigore中提及。每個克隆回購的用戶都會得到該文件,但因爲它在.gitigore上列出,所以他們不能再次提交它,除非它們從.gitigore中被刪除。

因此,上傳文件回購,並將其添加到.gitigore。如果你想跟蹤本地文件check這個問題。

0

一般來說,如果您希望文件在全球範圍內被忽略,請將其添加到全球回購git.ignore。我沒有看到實施您的要求的內置方式,但您可以使用以下方法來完成。

在將文件dir1/.thisfile推入您的回購之前,將名稱更改爲例如。

DIR1/.thisfile.model

DIR1/.thisfile.example

或任何你喜歡的,只要它是不同的,有意義的。

推送文件,然後然後將原始文件名(dir1/.thisfile)添加到全局git.ignore。現在,用戶將始終提取該文件,但會清楚地標出一個突出的名稱。如果他們想要使用「生產」(無論如何),他們需要在本地將名稱更改爲原始名稱。如果他們這樣做,不用擔心,它已經被忽略了。

相關問題