是否有像svn一样的git忽略命令?

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

没有特别的git ignore命令。

编辑位于工作副本适当位置的.gitignore文件。 你应该添加这个.gitignore并提交它。 每个克隆回购的人都会忽视这些文件。

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

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

你也可以用git config --global core.excludesfile来设置一个模式的全局文件。 这将在本地适用于同一用户帐户上的所有git工作副本。

运行git help gitignore并阅读文本的细节。

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

以下是一些用法示例:

列出当前被忽略的模式

 git ignore 

添加一个模式

 git ignore "*.log" 

从gitignore.io添加一个模板

 git ignore-io -a rails 

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

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

 echo .svn/ >> .gitignore 

你有两种忽略文件的方式:

  • 任何文件夹中的.gitignore将忽略文件中指定的文件。 使用通配符是可能的。
  • .git/info/exclude保存全局忽略模式,类似于subversionsconfiguration文件中的global-ignores

在存储库的根目录下创build一个名为.gitignore的文件。 在这个文件中,你把相对path放在你想要忽略的每一个文件中。 你可以使用*通配符。

我希望现在还不迟。

如果您在Windows中,则只需执行以下操作即可创build.gitignore文件

 echo name_of_the_file_you_want_to_ignore.extension > .gitignore 

为了编辑.gitignore你可以运行

 notepad .gitignore 

使用已经提供的答案,您可以使用别名来滚动自己的git ignore命令。 把它添加到你的〜/ .gitconfig文件中:

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

或者从你select的(* nix)shell运行这个命令:

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

你也可以通过在上面用.git/info/excludereplaceignore.gitignore来创build一个git exclude命令。

(如果您还没有理解这两个文件在这里阅读答案的区别,请参阅此问题 。)

为你的项目定义一个完整的.gitignore文件是很有用的。 奖励是安全使用方便的 – --all-a标志来addcommit命令。

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

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

无论是通过网页https://www.gitignore.io/

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

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

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

然后你可以inputgi跟在你需要gitignore标准的所有平台/环境元素上。

例!
比方说,你正在一个包含grunt的节点项目上工作,而你正在linux上使用webstorm,那么你可能想要input:
gi linux,webstorm,node,grunt > .gitignore (创build一个全新的文件)
要么
gi linux,webstorm,node,grunt >> .gitignore (追加/添加新的规则到一个现有的文件)

巴姆,你很好走