我想让git忽略UserInterfaceState.xcuserstate
XCode4项目中的文件,但是我应该将.gitignore
文件放在哪里?它在.git
文件夹中吗?还是出去?该.git
是在同一文件夹与ProjectName.xcodeproj
文件
我想让git忽略UserInterfaceState.xcuserstate
XCode4项目中的文件,但是我应该将.gitignore
文件放在哪里?它在.git
文件夹中吗?还是出去?该.git
是在同一文件夹与ProjectName.xcodeproj
文件
Answers:
您可以.gitignore
在项目的每个目录中都有一个。
但是,最佳实践是.gitignore
在项目根目录上只有一个文件,然后将要忽略的所有文件放入其中,如下所示:
ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn
创建.gitignore
文件后,已更改或已添加到存储库的忽略文件将不会显示为等待提交。
您还可以拥有一个全局本地git忽略文件,该文件将管理所有git存储库。
git config --global core.excludesfile ~/.gitignore_global
对于与项目无关的被忽略文件(例如与IDE相关的文件等),此替代方案特别有用。
有一些方法可以忽略git中的文件:
~/.gitignore_global
路径下创建。如果您要排除由OS或任何其他日志记录,兑现等工具生成的某些类型文件,则此方法很好。.git/info/exclude
存储库中的文件中。在该文件下指定的规则将不会提交,这意味着它将不会与其他人共享。通常,此方法可用于防止提交本地生成的文件。例如,对于您的编辑器创建的文件。.gitignore
在特定存储库的任何子路径中创建。这种方法通常仅在特定存储库的特定文件夹下忽略某些类型的文件。虽然可以通过其他路径和其他存储库将该文件添加到版本控制中。因此,我建议您,如果要忽略UserInterfaceState.xcuserstate
所有存储库中的特定文件(),最好的方法是使用全局git ignore方法。但是,如果仅在特定存储库中生成文件,则可以使用每个存储库的git ignore方法。
有关更多信息,您可以阅读这篇很棒的博客文章。并且每种语言都可以在这里建立特定的git忽略规则。您也可以使用此网站针对特定语言,工具或操作系统自动生成通用的git忽略规则。
您应该将.gitignore文件放入项目根目录。
我应该在哪里放置
.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
文件。
你应该不会把刀具专用文件到项目的.gitignore
文件-除非需要该工具由项目的每个开发人员使用。
而是.gitignore
在您的主目录中创建您的个人全局文件并激活它:
git config --global core.excludesfile ~/.gitignore
现在,您可以将开发工具生成的所有文件放入.gitignore
文件中。