2013-12-11 29 views
9

我需要在本地和Git中使用file.txt,並使用不同的內容。我希望Git不要告訴我該文件已經發生變化。如何忽略Git中的現有文件?

這可能嗎?

+1

可能重複組態文件](HTTP://計算器。com/questions/1396617/committing-machine-specific-configuration-files) – Senseful

回答

13

其實,你想--skip-worktree,不--assume-unchangedHere's a good explanation why

所以git update-index --skip-worktree file.txt

TLDR; --assume-unchanged是爲了性能,對於不會改變的文件(如SDK); --skip-worktree適用於遠程存在的文件,但您希望進行本地(未跟蹤)更改。

+0

你是對的,thx – kassie

+1

請將完整的命令添加到你的答案('git update-index ...');我們中有些人是真正的git新手,我不得不在下面閱讀@ janos的回答來補充你的;) –

+0

@NicolasMiari完成。感謝您的建議。 –

2

如果修改.gitignore文件不是一個選項(因爲它被檢入git本身),請考慮使用.git/info/exclude

11

也許你想「假裝」該文件實際上沒有改變?你可以是這樣做的:

git update-index --assume-unchanged file.txt 

以後要撤消此:

git update-index --no-assume-unchanged file.txt 

要查看標示這樣的文件列表:

git ls-files -v | grep '^[a-z]' 

UPDATE

正如評論指出的,這很可能不是你 想做。 A better answer已被@Tom Auger發佈,請改爲使用。

+0

是的,那工作,謝謝! – kassie

0

在Eclipse露娜,這是可以做到[有例如:It插件我覺得]通過這樣做: 右鍵點擊文件 - >團隊 - >高級 - >假設不變

1

enter image description here enter image description here

所有你需要的是點擊sourcetree的more按鈕就在文件名的右邊,在不分級的文件部分。點擊ignore,讓源碼樹爲該文件或所有相同類型的文件執行所需的操作。

1

SOURCETREE終端代碼

添加忽略文件:

git update-index --skip-worktree index.php 

提取忽略文件:

git update-index --no-skip-worktree index.php 

列表忽略文件:[犯下計算機專用的

git ls-files . --ignored --exclude-standard --others 
+0

對我來說很好的答案,因爲我使用SourceTree。這對我有效。 – pixelmeow