是否存在针对svn的git忽略命令?

时间:2009-11-04 22:30:04

标签: git gitignore ignore

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

11 个答案:

答案 0 :(得分:130)

没有特殊的git ignore命令。

编辑位于工作副本中相应位置的.gitignore文件。然后,您应该添加此.gitignore并提交它。克隆该回购的每个人都会忽略这些文件。

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

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

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

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

答案 1 :(得分:90)

一个非常有用的git ignore命令带有令人敬畏的tj/git-extras

以下是一些使用示例:

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

git ignore

添加模式

git ignore "*.log"

gitignore.io

添加其中一个模板
git ignore-io -a rails

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

答案 2 :(得分:48)

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

echo .svn/ >> .gitignore

答案 3 :(得分:15)

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

    任何文件夹中的
  • .gitignore都将忽略该文件夹文件中指定的文件。可以使用通配符。
  • .git/info/exclude包含全局忽略模式,类似于subversions配置文件中的global-ignores

答案 4 :(得分:5)

我希望现在还为时不晚。

如果您使用的是Windows,则只需执行以下操作即可创建 .gitignore 文件

echo name_of_the_file_you_want_to_ignore.extension > .gitignore

要修改 .gitignore ,您可以运行

notepad .gitignore

答案 5 :(得分:3)

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

答案 6 :(得分:2)

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

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

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

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

您也可以通过将git exclude替换为ignore,将exclude替换为上面的.gitignore来创建.git/info/exclude命令。

(如果您还没有理解这两个文件之间的区别,请阅读this question。)

答案 7 :(得分:1)

为项目定义完整的 .gitignore 文件很有用。奖励是对--all-a等命令安全使用方便的addcommit标记。

另外,请考虑为常见的忽略模式定义全局〜/ .gitignore 文件,例如*~ ,其中包含由Emacs创建的临时文件。

答案 8 :(得分:1)

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

在Ubuntu中安装它
$ sudo apt-get install git-extras

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

$ git ignore file_name

答案 9 :(得分:1)

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

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

答案 10 :(得分:0)

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

通过网络interfase https://www.gitignore.io/

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

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

然后您只需键入gi,然后输入您需要gitignore标准的所有平台/环境元素。

示例<!/强>
让我们说你正在开发一个包含grunt的节点项目,你在linux上使用webstorm,那么你可能想输入:
gi linux,webstorm,node,grunt > .gitignore(制作一个全新的文件)

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

bam,你很高兴