当前位置:  开发笔记 > 前端 > 正文

忽略git中的修改(但未提交)文件?

如何解决《忽略git中的修改(但未提交)文件?》经验,为你挑选了5个好方法。

我可以告诉git忽略被修改(删除)但不应该被提交的文件吗?

情况是我在repo中有一个子目录,其中包含我根本不感兴趣的东西,因此我将其删除以防止它出现在自动完成等中(在IDE中).

但是现在,如果我将该文件夹添加到.gitignore,只是没有任何变化,所有的东西都显示为被git status删除.

有没有办法让git忽略它?

(或者,因为我正在使用git-svn,我可以将更改提交给本地git并确保它们不会传递给svn repo吗?)



1> csmosx..:

查看git-update-index手册页和--assume-unchanged位和相关的.

当我遇到你的问题时,我会这样做

git update-index --assume-unchanged dir-im-removing/

或特定文件

git update-index --assume-unchanged config/database.yml


您可以使用`git update-index --no-assume-unchanged config/database.yml`来获取文件
你能以某种方式列出所有被忽略的文件吗?
是否可以将其添加到存储库配置文件中,而不是每次都手动运行此命令?

2> Dave L...:

一个更新更好的选择是 git update-index --skip-worktree在硬复位或拉动的新变化时不会丢失.

请参阅http://schacon.github.com/git/git-update-index.html上的手册页

并在http://fallengamer.livejournal.com/93321.html进行比较


需要注意的一个不足之处是,一旦使用`skip-worktree'隐藏文件的修改,找到这些文件有点麻烦.我知道的唯一方法是`git ls-files -v | grep -v'^ H'`.此外,许多GUI工具不了解此功能,并且如果例如由于"隐藏"修改文件而导致`checkout`失败,则可能产生有趣的错误.

3> John Feminel..:

跟踪文件不能被忽略,因此您必须先从索引中删除它们.添加.gitignore忽略你不想要的目录,然后将其删除,并删除任何散兵游勇用git rm --cached.



4> Walter..:

我通常做的是

git stash

git what-else

git stash适用

git stash clear


fwiw你也可以'git stash pop'一次做最后两个(虽然'git stash clear'会清除所有藏匿条目,如果你想要的话).

5> 小智..:

使用此代码

git update-index --assume-unchanged file-name

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有