130

我是新用户git,我正在开始一个新项目。我有一堆我想忽略的点文件。是否有git类似 for的忽略命令svn

4

10 回答 10

142

没有特别的git ignore命令。

编辑.gitignore位于工作副本中适当位置的文件。然后你应该添加它.gitignore并提交它。克隆该存储库的每个人都将忽略这些文件。

请注意,只有以 开头的文件名将与所在/目录相关.gitignore。其他所有内容都将匹配任何子目录中的文件。

您还可以编辑.git/info/exclude以忽略该工作副本中的特定文件。该.git/info/exclude文件不会被提交,因此只会在这个工作副本中本地应用。

您还可以使用要忽略的模式设置全局文件git config --global core.excludesfile。这将在本地应用于同一用户帐户上的所有 git 工作副本。

运行git help gitignore并阅读文本以了解详细信息。

于 2009-11-04T22:43:29.893 回答
104

很棒的tj/git-extras附带了一个非常有用的git ignore命令。

以下是一些使用示例:

列出所有当前被忽略的模式

git ignore

添加图案

git ignore "*.log"

添加来自gitignore.io的模板之一

git ignore-io -a rails

git-extras提供了更多有用的命令。绝对值得一试。

于 2013-10-29T13:12:39.313 回答
54

在 Linux/Unix 上,您可以使用命令将文件附加到 .gitignore 文件echo。例如,如果您想忽略所有.svn文件夹,请从项目的根目录运行:

echo .svn/ >> .gitignore
于 2011-05-12T20:57:03.060 回答
15

您有两种忽略文件的方法:

  • .gitignorein any folder 将忽略该文件夹文件中指定的文件。可以使用通配符。
  • .git/info/exclude保存全局忽略模式,类似于global-ignoresin subversions 配置文件。
于 2009-11-04T22:43:20.537 回答
4

在存储库的根目录上创建一个名为 .gitignore 的文件。在此文件中,您将要忽略的每个文件的相对路径放在一行中。您可以使用*通配符。

于 2009-11-04T22:33:29.457 回答
3

为您的项目定义一个完整的.gitignore文件很有用。奖励是安全地使用方便的--allor-a标志来像addand之类的命令commit

另外,考虑为通常被忽略的模式定义一个全局~/.gitignore文件,例如*~,它涵盖了由 Emacs 创建的临时文件。

于 2009-11-07T01:19:46.133 回答
2

使用已经提供的答案,您可以git ignore使用alias滚动您自己的命令。将其添加到您的 ~/.gitconfig 文件中:

ignore = !sh -c 'echo $1 >> .gitignore' -

或者从您选择的 (*nix) shell 运行此命令:

git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'

git exclude您也可以通过替换上面的ignorewithexclude.gitignorewith来创建命令.git/info/exclude

(如果您在阅读此处的答案后还不了解这两个文件之间的区别,请参阅此问题。)

于 2015-04-23T14:54:21.740 回答
2

你必须为此安装 git-extras。您可以使用 apt-get 在 Ubuntu 中安装它,

$ sudo apt-get install git-extras

然后你可以使用 git ignore 命令。

$ git ignore file_name
于 2018-02-20T12:07:18.180 回答
2

对于工作副本或 repo 中不存在的名称:

echo /globpattern >> .gitignore

或对于现有文件(sh 类型命令行):

echo /$(ls -1 file) >> .gitignore   # I use tab completion to select the file to be ignored  
git rm -r --cached file             # if already checked in, deletes it on next commit
于 2018-09-04T05:56:43.663 回答
1

你也可以使用 Joe Blau 的 gitignore.io

通过网络接口https://www.gitignore.io/

或者通过安装 CLI 工具,它非常简单快捷,只需在终端上键入以下内容:

Linux:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc

操作系统:
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile

然后你可以只输入gi你需要 gitignore 标准的所有平台/环境元素。

例子!
假设您正在开发一个包含 grunt 的节点项目,并且您在 linux 上使用 webstorm,那么您可能需要输入:(
gi linux,webstorm,node,grunt > .gitignore创建一个全新的文件)

gi linux,webstorm,node,grunt >> .gitignore(将新规则附加/添加到现有文件)

砰,你可以走了

于 2014-10-27T06:54:26.010 回答