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

问题描述 投票:118回答:11

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

git gitignore ignore
11个回答
130
投票

没有特殊的git ignore命令。

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

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

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

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

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


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

0
投票

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

通过网络界面qazxsw poi

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

Linux的: https://www.gitignore.io/

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

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

例! 让我们说你正在研究一个包含grunt的节点项目,你在linux上使用webstorm,那么你可能想输入: echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile(制作一个全新的文件) 要么 gi(将新规则附加/添加到现有文件)

巴姆,你很高兴


90
投票

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

以下是一些使用示例:

List all currently ignored patterns

git ignore

Add a pattern

git ignore "*.log"

Add one of the templates from gitignore.io

git ignore-io -a rails

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


48
投票

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

echo .svn/ >> .gitignore

15
投票

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

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

5
投票

我希望现在还为时不晚。

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

echo name_of_the_file_you_want_to_ignore.extension > .gitignore

要编辑.gitignore,您可以运行

notepad .gitignore

3
投票

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


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替换ignoreexclude.gitignore来创建一个.git/info/exclude命令。

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


1
投票

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

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


1
投票

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

$ sudo apt-get install git-extras

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

$ git ignore file_name
© www.soinside.com 2019 - 2024. All rights reserved.