2010-11-06 16 views
31

我在github上分支了一個項目並開始在自己的機器上搞亂它,我想提交我已經做出的更改我在GitHub上,但沒有commiting我已經到cfg文件所做的更改,因爲這包含了之類的東西分貝密碼等如何讓git忽略所有對單個文件的進一步編輯而不將其從編譯器中刪除

+0

可能重複[在git中忽略修改(但未提交)的文件?](http://stackoverflow.com/questions/655243/ignore-modified-but-not-committed-files-in-git) – Cascabel 2010-11-06 17:33:24

+0

有可能還有更多的重複;你可以搜索答案(update-index --assume-unchanged)並找到各種各樣的東西。 – Cascabel 2010-11-06 17:35:04

回答

60

使用叉子這樣的:

git update-index --skip-worktree path/file.cfg 

,並恢復:

git update-index --no-skip-worktree path/file.cfg 

最後,如果你想列出標有skip-worktree文件:

git ls-files -v | grep ^S | awk '{print $2}' 

爲了簡化,你可以爲一個別名在$HOME/.gitconfig

[alias] 
    ls-ignored-changes = !git ls-files -v | grep ^S | awk '{print $2}' 

然後,你可以只輸入git ls-ignored-changes。它甚至適用於自動完成,如果你有git-completion(適用於bash,tcsh,zsh)。

+0

賀雅,我已經試過,唉,然後當我去提交它在那裏準備提交。或者當我推動時,它會阻止它被推動? – 2010-11-06 17:26:47

+2

@ Gabriel Baker:那是因爲你已經上傳了這個文件。使用'git reset path/file.cfg'卸載它。 – jweyrich 2010-11-06 17:29:26

+1

我希望我能給你超過1 upvote這個超級有用的信息,再次感謝! – DrCord 2016-09-26 19:17:42

相關問題