我希望git忽略我的XCode4项目中的UserInterfaceState.xcuserstate
文件,但是我应该把.gitignore
文件放在哪里?,它是否在.git
文件夹中?还是出去? .git
与ProjectName.xcodeproj
文件
答案 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中的文件:
~/.gitignore_global
路径下创建。 如果您想要排除某些由操作系统或任何其他日志记录,兑现等工具生成的类型文件,这种方法很有用。 .git/info/exclude
文件中。此文件下指定的规则不会
承诺,这意味着它不会与他人分享。 通常,此方法可用于防止提交本地生成的文件。例如,对于由编辑器创建的文件。 .gitignore
。 此方法通常仅用于忽略特定存储库的特定文件夹下的某些类型的文件。虽然可以将此文件添加到其他路径和其他存储库控制的版本中。 所以,我建议您,如果您想忽略所有存储库中的特定文件(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
文件包含在项目的根目录