如何创建一个.gitignore文件

1400

我需要在.gitignore文件中添加一些规则,但是我在我的项目文件夹中找不到它。这个文件不是由Xcode自动生成的吗?如果不是,有什么命令可以让我创建一个?


68
将文本"xxx"写入.gitignore文件。 - ybdesire
12
https://www.gitignore.io/ - Ivan Aracki
13
复制你现有项目中的.gitignore文件。 - Suragch
迁移问题到超级用户怎么样? - Makan
我几年前创建了这个工具:https://github.com/czheo/gitignorepy - czheo
显示剩余5条评论
42个回答

1811

如果您正在使用Windows操作系统,那么在Windows Explorer中不允许您创建一个没有文件名的文件。如果您试图将一个文本文件重命名为.gitignore,它会给出错误信息:“您必须键入文件名”。

图片描述

为了解决这个问题,可以采取以下步骤:

  1. 创建文本文件gitignore.txt
  2. 使用文本编辑器打开它,添加规则,然后保存并关闭。
  3. 按住Shift键,右键单击所在的文件夹,然后选择在此处打开命令窗口
  4. 然后在命令行中重命名文件,使用命令ren gitignore.txt .gitignore

或者,HenningCash在评论中提到

您可以通过在没有扩展名的文件名后附加一个点.来避免Windows Explorer的此错误:.gitignore. 它将自动更改为.gitignore


32
在Mac上完成此操作,只需CD到项目目录并键入“touch .gitignore”,还需确保您可以查看隐藏文件。 - Jameo
7
在创建了gitignore.txt文件后,"ren"命令对我来说不起作用。但是我只需在目录上打开Git Bash,就可以像平常一样使用Linux的"mv"命令。 - gwgeller
528
您可以通过在没有扩展名的文件名后追加一个点号来规避这个Windows资源管理器错误:.gitignore. 将自动更改为 .gitignore(Win7 x64)。 - HenningCash
44
有趣的事情是,原帖作者正在使用XCode,这意味着他正在运行OS X。而你们所有人都在支持一个针对Windows的回答?!! - Corstian Boerman
23
谷歌的不认同真有趣,谷歌搜索“在Windows上使用.gitignore”会将这个页面作为第一个结果显示 :) - Ateik
显示剩余14条评论

626

尽管事情有时候可能非常简单:只需将以下内容添加到您偏爱的命令行接口(GNU Bash,Git Bash等)中即可。

touch .gitignore

正如War在评论中指出的,只要提供完整路径,touch在Windows上也可以使用。这也可能解释了为什么在某些Windows版本上无法使用touch命令:因为默认情况下,$PATH中没有touch命令。

C:\> "c:\program files (x86)\git\bin\touch.exe" .gitignore

注意:路径可能会因您的设置和安装路径而有所不同。


8
这对我没有起作用,它说“touch”不是一个程序。 - Jim Jones
3
我刚在Windows 7的cmdpowershell中尝试了一下,没有问题。然后我又在同事的Windows 8.1机器上再次尝试,可以确认(Cmdlet不存在)。你需要自己查找该问题的解决方法,因为这个问题也会影响其他事情。简而言之,很抱歉对你造成困扰 :/ - kaiser
2
FYI - Windows系统没有本地的touch命令。在Windows中,最接近的等效命令是“copy /b filename.ext +,,”(其中filename.ext是您的文件名)。+,,是一个特殊的标志,告诉复制命令只需更新文件的日期/时间。http://superuser.com/questions/10426/windows-equivalent-of-the-linux-command-touch - Gabe Halsmer
8
请使用Git Bash运行这个命令,命令如下:@SpencerKillen。 - Teoman shipahi
2
如果您指定touch的完整路径,它可以在命令行中工作... C:>“c:\program files (x86)\git\bin\touch.exe” .gitignore - War
显示剩余6条评论

331
在Windows资源管理器中创建.gitignore文件的最简单方法是创建一个名为.gitignore.的新文件。这将跳过文件扩展名的验证,因为它实际上是一个没有扩展名的空文件。

12
如果你想保持纯粹的Windows风格,那么最简单的方法无疑是…… - Raj
5
这是最适合我们中最懒惰的人的最佳方式:D - JochemQuery
6
这对我很管用。实际上,Windows 删掉了最后一个点,所以当我保存更改后,文件名变成了 .gitignore。 - JoBaxter
4
这是关于Windows资源管理器中出现的错误的真正答案...尽管我认为原问题是关于OSX的。 - Greg Woods
该问题提到了在OSX上运行的Xcode。但是这在OSX上不起作用。(在OSX上没有Windows资源管理器。) - Noctis
显示剩余3条评论

214

.gitignore 文件不会默认添加到代码库中。使用 vi 或您喜欢的文本编辑器创建 .gitignore 文件,然后发出 git add .gitignore 命令,再跟着 git commit -m "message" .gitignore 命令。以下命令将处理它。

> .gitignore
git add .gitignore
git commit -m "message" .gitignore

6
你好,感谢你的回复:)实际上,我已经创建了一个.gitignore文件,但是当执行这个命令行:git add .gitignore时,我收到了这个消息:fatal: pathspec '.gitignore' did not match any files,尽管我确保.gitignore文件确实存在于我的项目文件夹中,我错了吗? - Luca
如果git说文件不存在 - 你创建的文件可能有不同的名称。你可以用ls -la命令查看文件夹中的所有文件。如果你仍然遇到困难,请在问题中详细说明你做了什么。 - AD7six
我的.gitignore文件已经存在。 我刚刚添加了一个规则,以忽略eclipse.prefs和.log文件。 提交了。它会立即开始工作吗? - R11G
非常有帮助。此外,这种方法也适用于重命名文件夹/目录(而不仅仅是文件)。例如 Z:\pristine-vagrant>ren "New folder" .ssh - Daniel Dropik
如果出现“fatal: pathspec..”错误,我只需运行git fetch,然后再尝试git commit和push。它可以正常工作。 - Santosh Kumar Arjunan

158

在Windows中

  1. 打开记事本
  2. 添加您的gitignore文件内容。
  3. 点击“另存为”并选择“所有文件”。
  4. 保存为.gitignore

非常简单!无需使用命令行!


20
NotePad++ 对于使用它的人来说也很满意。 - Liam

60

macOS和Linux的一行命令

获取默认的Git忽略文件的简单方法是使用终端中的curl命令,而不必进行创建/复制/粘贴等操作。首先cd进入您的项目根目录,然后用以下两个来源之一中的API名称替换MY_API_NAME来运行该命令:

gitignore.io

curl -o .gitignore https://www.toptal.com/developers/gitignore/api/MY_API_NAME
你可以在这里的列表中搜索并点击“生成”来查找你的API名称。 这里 Java示例:
curl -o .gitignore https://www.toptal.com/developers/gitignore/api/java

GitHub

或者,您可以使用 GitHub 上的文件。在这里查找适用于您的 API 的文件名。

curl -o .gitignore https://raw.githubusercontent.com/github/gitignore/master/MY_API_NAME.gitignore

Java 示例:

curl -o .gitignore https://raw.githubusercontent.com/github/gitignore/master/Java.gitignore

Windows

以下是Windows的一些类似替代品。

但坦白说,设置这个看起来比它值得的麻烦。如果我用Windows,我会在项目根目录中创建一个名为.gitignore的空文件,然后从gitignore.io或GitHub复制并粘贴默认文本。


太棒了!正是我在寻找的。我推荐ConEmu,它是一个支持curl的窗口终端。https://conemu.github.io/ - Morten Brudvik

58

在Windows系统上,您可以使用cmd:

echo "" >.gitignore

或者使用Git Bash cmd:

touch .gitignore,

这对于Linux和Mac系统很有用。


echo > .gitignore 很有效。为了继续追加要忽略的文件,我们可以执行 echo "*.obj" >> .gitignore。 - ozkary
我会谨慎使用这种方法。在我的电脑上,运行Windows 10,使用echo创建.gitignore文件会导致一个UTF 16LE格式的文件,Git显然无法正确解析。通过Windows资源管理器创建文件会生成一个ANSI格式的文件,可以正确地与Git配合使用。 - jlspublic
这个应该被接受为答案。 - Ashish Johnson

52

我也想做出一些贡献。这次,是动画版的 :)

Vim(迷你教程):

i   - start editing
ESC - get back to normal mode
:w  - save
:q  - quit

输入图像描述


45

使用 Git Bash 控制台。

  • 导航到您的项目
  • 键入 "touch .gitignore"

.gitignore 文件将会为您创建。

输入图片描述


35

我的贡献旨在帮助使用Mac的人,它不仅适用于那些在iOS项目上工作的人(正如问题中提到Xcode一样),而且适用于任何类型的项目。



我通常的简单方法是进入终端并运行vim .gitignore,然后添加文件。通常您可以从GitHub上的一个模板中复制所需内容:https://github.com/github/gitignore


步骤1
在您的项目中输入以下命令

vim .gitignore

Enter image description here



第二步
您现在已经通过Vim打开了文件。

Enter image description here

按下i键插入文本。当底部出现--INSERT--时,您将看到该文件已准备就绪。

Enter image description here



第三步(选项1)
对于Objective-C项目,您可以从https://raw.githubusercontent.com/github/gitignore/master/Objective-C.gitignore中复制,并将其粘贴到您的.gitignore文件中:

Enter image description here

按下Esc键,输入:wq,然后按Return键。这将保存该文件。



第三步(选项2)
添加适用于您的项目的任何文件。

如果您不确定要添加什么,最好在搜索引擎中使用的关键字是包括您的项目类型和文本编辑器。例如,如果您使用Sublime Text,则需要添加:

*.sublime-workspace

如果您正在使用Cordova项目,而且在Dreamweaver中工作,您需要添加以下内容:

_notes
dwsync.xml

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接