是否有像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/exclude
replaceignore
和.gitignore
来创build一个git exclude
命令。
(如果您还没有理解这两个文件在这里阅读答案的区别,请参阅此问题 。)
为你的项目定义一个完整的.gitignore文件是很有用的。 奖励是安全使用方便的 – --all
或-a
标志来add
和commit
命令。
另外,考虑定义一个全局的〜/ .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
(追加/添加新的规则到一个现有的文件)
巴姆,你很好走