.gitignore文件,我应该把它放在我的xcode项目中?
我想git忽略我的XCode4项目中的UserInterfaceState.xcuserstate
文件,但是我应该把.gitignore
文件放在哪里?它在.git
文件夹中吗? 或出? .git
与ProjectName.xcodeproj
文件位于同一个文件夹中
您可以在项目的每个目录中都有一个.gitignore
。
但是,最好的做法是在项目根目录下有一个.gitignore
文件,并将所有要忽略的文件放在它中,如下所示:
ignoredFile.whatever ignoredDirectory/* directory/ignoredFileInsideDirectory .svn
一旦创build了.gitignore
文件,那么已经更改或者是新到存储库中的忽略文件将不会显示为等待提交。
你也可以有一个全局的本地git忽略文件,它将pipe理你所有的git仓库。
git config --global core.excludesfile ~/.gitignore_global
对于与项目无关的忽略文件(如IDE相关文件等),此替代方法特别有用。
有办法忽略git中的文件:
- 全局git忽略: – 在这种方法中,你的自定义规则将被应用到你机器上的每个git目录。 通常这个文件可能在
~/.gitignore_global
path下创build。 这种方法很好,如果你想排除一些由操作系统或任何其他日志logging,兑现等工具生成的types文件。 - 每个仓库的git忽略: – 在这种方法你的自定义规则将被应用到你的机器上的特定git目录。 本地每个存储库规则可以添加到存储库中的
.git/info/exclude
文件中。 该文件中指定的规则不会被提交,这意味着它不会与其他人共享。 通常,这种方法有助于防止提交本地生成的文件。 例如,由您的编辑器创build的文件。 - 每个pathgit忽略: – 在这种情况下,你的自定义规则将被应用到特定的git存储库子path。 您可以在特定存储库的任何子path中创build
.gitignore
。 这种方法通常用于仅在特定存储库的特定文件夹下忽略某些types的文件。 虽然这个文件可以添加到版本控制的其他path和其他存储库。
所以,我build议你,如果你想忽略你的所有仓库中的特定文件( UserInterfaceState.xcuserstate
),最好的办法是使用全局的git ignore方法。 但是,如果您的文件仅在特定的存储库中生成,则可以使用每个存储库的git ignore方法。
有关更多信息,你可以阅读这个伟大的博客文章。 而且每个语言特定的git忽略规则可以在这里创build。 而且你可以使用这个网站自动生成一般的git忽略特定语言,工具或操作系统的规则。
你应该把.gitignore文件放到项目根目录下。
我应该把
.gitignore
文件放在哪里?它在.git文件夹中吗?
.git
文件夹中没有.gitignore
。
然而,这是一个.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? ”中所提到的,如果它是一种应该被该回购的用户忽略的文件types ,我实际上会在回购的顶部版本一个.gitignore,内容类似于:
*.xcuserstate
这样,回购的任何用户甚至不会意识到这个文件存在并且被生成(不pipe它的名字是什么):它不会以git status
出现。
或者,您可以忽略xcuserdata/
完全(全局.gitignore
或版本化,如通用的GitHub Objective-C.gitignore
文件。
您不应将特定于工具的文件放入项目的.gitignore
文件中 – 除非项目的每个开发人员都需要使用该工具。
相反,在您的主目录中创build您的个人全球.gitignore
文件并激活它:
git config --global core.excludesfile ~/.gitignore
现在你可以把你的开发工具生成的任何文件放到你的.gitignore
文件中。
通常,将.gitignore
文件包含在项目的根目录中是最佳实践