如何忽略Git中的现有文件?

时间:2013-12-11 16:50:30

标签: git version-control atlassian-sourcetree

我需要在本地和Git中使用file.txt处理不同的内容。我希望Git不要告诉我该文件有变化。

这可能吗?

7 个答案:

答案 0 :(得分:15)

实际上,您需要--skip-worktree,而不是--assume-unchangedHere's a good explanation why

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

TLDR; --assume-unchanged用于表现,对于不会发生变化的文件(如SDK); --skip-worktree适用于远程存在的文件,但您希望对其进行本地(未跟踪)更改。

答案 1 :(得分:11)

也许你想“假装”文件实际上没有改变?你可以这样做:

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

稍后撤消:

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

要查看以这种方式标记的文件列表:

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

<强>更新

正如评论所指出的,这很可能不是你想要做的。 better answer已发布@Tom Auger,而是使用该帐号。

答案 2 :(得分:2)

如果不能修改.gitignore文件(因为它已经检入git本身),请考虑使用.git/info/exclude

答案 3 :(得分:1)

你能否使用.gitignore档?

答案 4 :(得分:1)

enter image description here enter image description here

您只需要在文件名右侧的unstaged files部分中单击sourcetree中的more按钮。单击ignore并使源代码树对该文件或具有相同类型的所有文件执行所需的操作。

答案 5 :(得分:1)

SOURCETREE终端代码

添加忽略文件:

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

提取忽略文件:

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

列出忽略文件:

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

答案 6 :(得分:0)

在Eclipse Luna中,这可以通过以下方式完成[我认为使用EGit插件]: 右键单击文件 - &gt;团队 - &gt;高级 - &gt;假设未改变