xcode - Git Xcode项目的忽略文件

  显示原文与译文双语对照的内容

Xcode, .gitignore 中我需要包括哪些文件建议当使用最新结合使用?

时间:

模组:请对这个答案编辑不审批。 到目前为止,每个编辑都不正确,导致数据丢失。 请单独保留这里答案 !


如果你想编辑这里答案。。 在it,不。先读整个事情- 这里给你一个简单的方法来制作你自己的叉,如果这还不能足够则标识为一条


我以前使用 top-voted improvements,回复,有些,但我也是这样的清理,这就是俺对 Xcode re-done 4,.

在苹果邮寄lists,还研究了每苹果xcode的文件在这里列表中,但是一些可能根本就不存在于官方 docs,我只好只加

苹果继续添加未记录在案的文件,可能会破坏我们的实时项目。 无法接受这种没有过时,并针对它现在我已经打开了日志记录 Bug 每当他们这样做。 我知道他们并不在意,但也许它会让人遗憾其中之一为公平地对待开发者更多。


如果你需要自定义,下面是你可以使用的要点: https://gist.github.com/3786883



#########################
#. gitignore file for Xcode4 and Xcode5 Source projects
#
# Apple bugs, waiting for Apple to fix/respond:
#
# 15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation?
#
# Version 2.4
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
#
# 2015 updates:
# - Finally added"xccheckout" to the ignore. Apple still refuses to answer support requests about this, but in practice it seems you should ignore it.
# - minor tweaks from Jona and Coeur (slightly more precise xc* filtering/names)
# 2014 updates:
# - appended non-standard items DISABLED by default (uncomment if you use those tools)
# - removed the edit that an SO.com moderator made without bothering to ask me
# - researched CocoaPods. lock more carefully, thanks to Gokhan Celiker
# 2013 updates:
# - fixed the broken"save personal Schemes"
# - added line-by-line explanations for EVERYTHING (some were missing)
#
# NB: if you are storing"built" products, this WILL NOT WORK,
# and you should use a different. gitignore (or none at all)
# This file is for SOURCE projects, where there are many extra
# files that we want to exclude
#
#########################

#####
# OS X temporary files that should never be committed
#
# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.DS_Store

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

.Trashes

# c.f. http://www.westwind.com/reference/os-x/invisibles.html

*.swp

#
# *.lock - this is used and abused by many editors for many different things.
# For the main ones I use (e.g. Eclipse), it should be excluded 
# from source-control, but YMMV.
# (lock files are usually local-only file-synchronization on the local FS that should NOT go in git)
# c.f. the"OPTIONAL" section at bottom though, for tool-specific variations!
#
# In particular, if you're using CocoaPods, you'll want to comment-out this line:
*.lock


#
# profile - REMOVED temporarily (on double-checking, I can't find it in OS X docs?)
#profile


####
# Xcode temporary files that should never be committed
# 
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...

*~.nib


####
# Xcode build files -
#
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named"DerivedData"

DerivedData/

# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named"build"

build/


#####
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
#
# This is complicated:
#
# SOMETIMES you need to put this file in version control.
# Apple designed it poorly - if you use"custom executables", they are
# saved in this file.
# 99% of projects do NOT use those, so they do NOT want to version control this file.
#. . but if you're in the 1%, comment out the line"*.pbxuser"

#. pbxuser: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html

*.pbxuser

#. mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode1v3

#. mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html

*.mode2v3

#. perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file

*.perspectivev3

# NB: also, whitelist the default ones, some projects need to use these
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3


####
# Xcode 4 - semi-personal settings
#
# Apple Shared data that Apple put in the wrong folder
# c.f. http://stackoverflow.com/a/19260712/153422
# FROM ANSWER: Apple says"don't ignore it"
# FROM COMMENTS: Apple is wrong; Apple code is too buggy to trust; there are no known negative side-effects to ignoring Apple's unofficial advice and instead doing the thing that actively fixes bugs in Xcode
# Up to you, but.. . current advice: ignore it.
.xccheckout

#
#
# OPTION 1: ---------------------------------
# throw away ALL personal settings (including custom schemes!
# - unless they are"shared")
# As per build/and DerivedData/, this ought to have a trailing slash
#
# NB: this is exclusive with OPTION 2 below
xcuserdata/

# OPTION 2: ---------------------------------
# get rid of ALL personal settings, but KEEP SOME OF THEM
# - NB: you must manually uncomment the bits you want to keep
#
# NB: this *requires* git v1.8.2 or 上面; you may need to upgrade to latest OS X,
# or manually install git over the top of the OS X version
# NB: this is exclusive with OPTION 1 上面
#
#xcuserdata/**/*

# (requires option 2 上面): Personal Schemes
#
#!xcuserdata/**/xcschemes/*

####
# XCode 4 workspaces - more detailed
#
# Workspaces are important! They are a core feature of Xcode - don't exclude them :)
#
# Workspace layout is quite spammy. For reference:
#
#/(root)/
#/(project-name).xcodeproj/
# project.pbxproj
#/project.xcworkspace/
# contents.xcworkspacedata
#/xcuserdata/
#/(your name)/xcuserdatad/
# UserInterfaceState.xcuserstate
#/xcshareddata/
#/xcschemes/
# (shared scheme name).xcscheme
#/xcuserdata/
#/(your name)/xcuserdatad/
# (private scheme).xcscheme
# xcschememanagement.plist
#
#

####
# Xcode 4 - Deprecated classes
#
# Allegedly, if you manually"deprecate" your classes, they get moved here.
#
# We're using source-control, so this is a"feature" that we do not want!

*.moved-aside

####
# OPTIONAL: Some well-known tools that people use side-by-side with Xcode/iOS development
#
# NB: I'd rather not include these here, but gitignore's design is weak and doesn't allow
# modular gitignore: you have to put EVERYTHING in one file.
#
# COCOAPODS:
#
# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#what-is-a-podfilelock
# c.f. http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
#!Podfile.lock
#
# RUBY:
#
# c.f. http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/
#
#!Gemfile.lock
#
# IDEA:
#
#.idea
#
# TEXTMATE:
#
# -- UNVERIFIED: c.f. http://stackoverflow.com/a/50283/153422
#
#tm_build_errors

####
# UNKNOWN: recommended by others, but I can't discover what these files are
#
# Community suggestions (unverified, no evidence available - DISABLED by default)
#
# 1. Xcode 5 - VCS file
#
#"The data in this file not represent state of your project.
# If you'll leave this file in git - you will have merge conflicts during 
# pull your cahnges to other's repo"
#
#*.xccheckout

基于 ,本指南的Mercurial 。gitignore包括:


.DS_Store
*.swp
*~.nib

build/

*.pbxuser
*.perspective
*.perspectivev3

我还选择了包括:

 
*.mode1v3
*.mode2v3

 

根据 ,这个苹果邮件列表张贴,是"user-specific项目设置"。

对于 Xcode 4:

 
xcuserdata

 

对于 Xcode 4,我还添加了:


YourProjectName.xcodeproj/xcuserdata/*
YourProjectName.xcodeproj/project.xcworkspace/xcuserdata/*

关于'生成'目录排除-

如果你将构建文件放置在与源源文件不同的目录中,那么你就没有在树中的文件夹。

这也使得共享代码变得更加简单,避免了臃肿的备份,甚至当你有与其他Xcode项目的依赖时( 同时需要构建在相同的目录中)

你可以从Github的标题 https://gist.github.com/708713 中获取最新的副本

我当前的。gitignore文件是


# Mac OS X
*.DS_Store

# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/

# Generated files
*.o
*.pyc


#Python modules
MANIFEST
dist/
build/

# Backup files
*~.nib

我将这些建议包含在我在Github上创建的一个要点中: http://gist.github.com/137348

请随意插入,并让它更好。

我同时使用AppCode和 XCode 。 所以 .idea/ 应该被忽略。

将这里附加到adam的.gitignore


####
# AppCode
.idea/

下面是我使用xcode自动创建。gitignore和。gitattributes文件的脚本。。 我把它和其他一些人 hacked 。 尽情玩耍吧!

Xcode-Git-User-Script

没有保证的最多- - 我吮吸,这- 所以使用在你自己的危险

我的是 bzrignore,但同样的想法:


.DS_Store
*.mode1v3
*.pbxuser
*.perspectivev3
*.tm_build_errors

tm_build_errors用于在我使用TextMate构建项目时。 虽然没有Hagelin那么全面,但我认为它值得发布tm_build_errors行。

GitHub的用户有一个非常详尽和高效的。用于Xcode项目的gitignore文件: Objective-C.gitignore

对于 XCode 5,我添加:


####
# Xcode 5 - VCS metadata
#
*.xccheckout

答案的berik

...