.gitignore文件,我应该把它放在我的xcode项目中?

时间:2012-03-12 18:01:06

标签: xcode git gitignore

我希望git忽略我的XCode4项目中的UserInterfaceState.xcuserstate文件,但是我应该把.gitignore文件放在哪里?,它是否在.git文件夹中?还是出去? .gitProjectName.xcodeproj文件

位于同一文件夹中

6 个答案:

答案 0 :(得分:124)

您可以在项目的每个目录中拥有.gitignore

但是,最佳做法是在项目根目录中放置一个.gitignore文件,并将要忽略的所有文件放在其中,如下所示:

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

创建.gitignore文件后,对存储库进行更改或新增的忽略文件将不会显示为等待提交。

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

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

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

答案 1 :(得分:21)

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

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

    有关详细信息,请参阅this精彩博文。根据语言特定的git忽略规则可以建立here。您可以使用this web site为特定语言,工具或操作系统自动生成常规git ignore规则。

答案 2 :(得分:20)

您应该将.gitignore文件放入项目根目录。

答案 3 :(得分:12)

  

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

.gitignore文件夹中没有.git 但是它是一个.git/info/exclude文件,允许您在本地排除文件,通常当您只想为此特定仓库排除文件时(使用alias like this one):

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

如果您需要将所有类似项目的此文件排除在Elnur Abdurrakhimov中提到的his answer,请将其全局排除。

echo UserInterfaceState.xcuserstate >> ~/.gitignore

但是,正如" Do we need to check in *.xcuserstate?"中提到的那样,如果它是文件的类型,那个回购的任何用户都应该忽略它,我实际上会版本a .gitignore位于仓库顶部,内容类似于:

*.xcuserstate 

这样,该回购的任何用户都不会意识到该文件存在并生成(无论其名称是什么):它不会出现在git status中。< / p>

或者您可以完全ignore xcuserdata/(在全局.gitignore中,或在版本化的文件中,例如generic GitHub Objective-C.gitignore文件。

答案 4 :(得分:9)

您应该将特定于工具的文件放入项目的.gitignore文件中 - 除非该项目的每个开发人员都需要使用该工具。

相反,请在主目录中创建个人全局.gitignore文件并将其激活:

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

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

答案 5 :(得分:6)

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