我是一个新用户,正在使用 git
并开始一个新项目。我有一堆点文件需要忽略。在 svn
中有一个 ignore 命令,那么 git
中是否也有类似的命令呢?
没有特殊的git ignore
命令。
编辑位于工作副本中适当位置的.gitignore
文件。然后将此.gitignore
文件添加并提交。克隆该 repo 的每个人都将忽略那些文件。
请注意,仅以/
开头的文件名将与目录.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"
git ignore-io -a rails
git-extras 提供了许多更有用的命令。一定值得一试。
在Linux/Unix系统下,您可以使用echo
命令将文件追加到.gitignore文件中。例如,如果您想忽略所有的.svn
文件夹,在项目根目录下运行以下命令:
echo .svn/ >> .gitignore
/
和尾随的反斜杠\
(以创建新行),例如echo /nbproject/project.properties\ >> .gitignore
和 echo /nbproject/project.xml\ >> .gitignore
。 - Ryan/
字符至关重要。如果没有它,新规则将被追加到已存在的.gitignore
文件中的最后一个条目,而不是作为文件底部的新条目创建。 - RBT您有两种忽略文件的方法:
.gitignore
文件可以按照该文件中指定的规则忽略该文件夹下的文件。可以使用通配符。.git/info/exclude
保存全局忽略规则,类似于subversion配置文件中的global-ignores
。.gitignore
文件中不包含 '/' 的模式会递归地进行匹配(即在包含 .gitignore
文件的目录及其所有子目录中都适用),这与 Subversion 中的 svn:ignore
目录属性不同。 - Jakub Narębski*
。为您的项目定义完整的 .gitignore 文件非常有用。这样做的好处是可以安全地使用方便的 --all
或 -a
标志来运行命令,比如 add
和 commit
。
此外,考虑定义一个全局的 ~/.gitignore 文件,用于常见被忽略的模式,例如 *~
,它可以覆盖 Emacs 创建的临时文件。
您需要安装git-extras才能执行此操作。 在Ubuntu中,您可以使用apt-get进行安装。
$ sudo apt-get install git-extras
$ git ignore file_name
brew install git-extras
命令来安装 git-extras。 - Alex Glovergit ignore
命令。将以下代码添加到你的~/.gitconfig文件中:ignore = !sh -c 'echo $1 >> .gitignore' -
git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'
ignore
替换为exclude
,并将.gitignore
替换为.git/info/exclude
来创建一个git exclude
命令。
(如果您还不理解这两个文件的区别,请参阅this question。)
对于工作副本或仓库中不存在的名称:
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
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条件。
例子!gi linux,webstorm,node,grunt > .gitignore
(创建一个全新的文件)gi linux,webstorm,node,grunt >> .gitignore
(将新规则追加/添加到现有文件中)
完成了,你可以开始工作了。