.gitignore文件,应将其放在我的xcode项目中?


Answers:


124

您可以.gitignore在项目的每个目录中都有一个。

但是,最佳实践是.gitignore在项目根目录上只有一个文件,然后将要忽略的所有文件放入其中,如下所示:

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

创建.gitignore文件后,已更改或已添加到存储库的忽略文件将不会显示为等待提交。

您还可以拥有一个全局本地git忽略文件,该文件将管理所有git存储库。

git config --global core.excludesfile ~/.gitignore_global

对于与项目无关的被忽略文件(例如与IDE相关的文件等),此替代方案特别有用。


1
该.gitignore应该添加到原始位置还是您的master / local-repo副本中?
阿迪尔

1
在本地(当然,您将在某个时候将其推入原点)。
Daniel Ribeiro

21

有一些方法可以忽略git中的文件:

  1. 全局git忽略: -通过这种方法,您的自定义规则将应用于计算机中的每个git目录。通常,此文件可能在~/.gitignore_global路径下创建。如果您要排除由OS或任何其他日志记录,兑现等工具生成的某些类型文件,则此方法很好。
  2. 每个存储库的git忽略: -用这种方法,您的自定义规则将应用于您计算机中的特定git目录。可以将本地每个存储库规则添加到.git/info/exclude存储库中的文件中。在该文件下指定的规则将不会提交,这意味着它将不会与其他人共享。通常,此方法可用于防止提交本地生成的文件。例如,对于您的编辑器创建的文件。
  3. 每个路径git忽略: -在这种情况下,您的自定义规则将应用于特定的git仓库子路径。您可以.gitignore在特定存储库的任何子路径中创建。这种方法通常仅在特定存储库的特定文件夹下忽略某些类型的文件。虽然可以通过其他路径和其他存储库将该文件添加到版本控制中。

因此,我建议您,如果要忽略UserInterfaceState.xcuserstate所有存储库中的特定文件(),最好的方法是使用全局git ignore方法。但是,如果仅在特定存储库中生成文件,则可以使用每个存储库的git ignore方法。

有关更多信息,您可以阅读这篇很棒的博客文章。并且每种语言都可以在这里建立特定的git忽略规则。您也可以使用此网站针对特定语言,工具或操作系统自动生成通用的git忽略规则。



12

我应该在哪里放置.gitignore文件?它在.git文件夹中吗?

文件夹.gitignore内没有.git文件。
但是是.git/info/exclude,它是一个文件,允许您在本地排除文件,通常是当您只想为该特定存储库排除文件时(具有这样的别名):

git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate

如果您需要为所有类似项目排除此文件,如Elnur Abdurrakhimov他的回答中提到的,请在全局范围内排除它。

echo UserInterfaceState.xcuserstate >> ~/.gitignore

但是,正如“ 是否需要签入* .xcuserstate? ”中所述,如果该文件是该存储库的任何用户都应该忽略的文件类型,那么我实际上会在该存储库的顶部发布.gitignore版本,内容类似于:

*.xcuserstate 

这样,该存储库的任何用户甚至都不会意识到该文件存在并已生成(无论其名称是什么):它不会显示在 git status

或者,您可以完全忽略xcuserdata/(在全局.gitignore或版本化的版本中,例如通用GitHubObjective-C.gitignore文件。


您是GIT的传奇!始终,您的答案是最有用的。
Jad Chahine

@JadChahine谢谢。很高兴提供帮助(至少,写下这些答案可以帮助我学习git)
VonC

@tymac不太;)我只是定期访问(meta.stackexchange.com/questions/122976/...
VonC

9

你应该不会把刀具专用文件到项目的.gitignore文件-除非需要该工具由项目的每个开发人员使用。

而是.gitignore在您的主目录中创建您的个人全局文件并激活它:

git config --global core.excludesfile ~/.gitignore

现在,您可以将开发工具生成的所有文件放入.gitignore文件中。


6

通常,最佳做法是将.gitignore文件包含在项目的根目录中

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.