我是git
的新用户,我正在开始一个新项目。我有一堆点文件,我想忽略。是否存在git
的忽略命令,就像svn
一样?
没有特殊的git ignore
命令。
编辑位于工作副本中适当位置的.gitignore
文件。然后你应该添加这个.gitignore
并提交它。克隆该repo的每个人都会忽略这些文件。
请注意,只有以/
开头的文件名才会相对于.gitignore
所在的目录。其他所有内容都将匹配任何子目录中的文件。
您还可以编辑.git/info/exclude
以忽略该工作副本中的特定文件。 .git/info/exclude
文件将不会被提交,因此仅在本地工作副本中应用。
您还可以使用git config --global core.excludesfile
设置包含要忽略的模式的全局文件。这将在本地适用于同一用户帐户上的所有git工作副本。
运行git help gitignore
并阅读文本以获取详细信息。
对于工作副本或回购中没有的名称:
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
你也可以使用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
(将新规则附加/添加到现有文件)
巴姆,你很高兴
一个非常有用的git ignore命令带有令人敬畏的tj/git-extras。
以下是一些使用示例:
git ignore
git ignore "*.log"
git ignore-io -a rails
git-extras提供了许多有用的命令。绝对值得尝试。
在Linux / Unix上,您可以使用echo
命令将文件附加到.gitignore文件。例如,如果要忽略所有.svn
文件夹,请从项目的根目录运行:
echo .svn/ >> .gitignore
您有两种忽略文件的方法:
.gitignore
都将忽略该文件夹文件中指定的文件。使用通配符是可能的。.git/info/exclude
持有全局忽略模式,类似于颠覆配置文件中的global-ignores
。我希望现在还为时不晚。
如果您使用的是Windows,则只需执行以下操作即可创建.gitignore文件
echo name_of_the_file_you_want_to_ignore.extension > .gitignore
要编辑.gitignore,您可以运行
notepad .gitignore
在存储库的根目录上创建名为.gitignore的文件。在此文件中,您将要忽略的每个文件的相对路径放在一行中。您可以使用*
通配符。
使用已提供的答案,您可以使用git ignore
滚动自己的alias命令。将其添加到〜/ .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。)
为项目定义完整的.gitignore文件很有用。奖励是安全使用方便的--all
或-a
旗帜命令add
和commit
。
另外,考虑为常见的忽略模式定义全局〜/ .gitignore文件,例如*~
,它涵盖了由Emacs创建的临时文件。
你必须为此安装git-extras。你可以使用apt-get在Ubuntu中安装它,
$ sudo apt-get install git-extras
然后你可以使用git ignore命令。
$ git ignore file_name