ChatGPT解决这个技术问题 Extra ChatGPT

What should Xcode 6 gitignore file include?

What should the typical .gitignore include for Xcode 6?

Also for information regarding the xccheckout introduced in Xcode 5 see here

This isn't a "primarily opinion-based" question. There are files that git should always ignore in XCode, program files such as xcuserdata. The choice to exclude these is in no way opinion based.
I second Dermot on that one! Not ignoring some files causes errors, therefore there is a definitive best practice. Half of the code examples shared in SO answers could be equally considered opinions as there are other ways of doing things, but there are generally accepted best practices and de facto standards.
Maybe closed partly because there's an extensive answer here: stackoverflow.com/questions/49478/… . In my research, you are incorrect to say that .xccheckout should be ignored - but it's not 100% clear, and I've logged a bug with Apple asking for an official answer.

M
Michael Dautermann

1)

The easiest answer is that mine looks like this:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

which I believe is the same .gitignore that GitHub sets up with all their repositories by default.

2)

Another answer is that there's a website called "gitignore.io" , which generates the files based on the .gitignore templates from https://github.com/github/gitignore.


do not forget to remove xcworkspace in case you use cocoa pods if integrating post commit hooks with e.g. travis
I researched all the files - c.f. stackoverflow.com/questions/49478/… - the various, unvetted contributors to the github project clearly did not (I repeatedly see things that should be in there but are missing, and (worse) vice-versa). Obviously, I'm not going to bother tracking / commenting on something that's clearly badly maintained to start with :) - I simply gave up, and wrote a working .gitignore instead, and shared it on StackOverflow
Cocoapods suggests thinking twice about ignoring Pods: guides.cocoapods.org/using/…?
For what it's worth, I spent a while researching different Xcode & Cocoapods .gitignore files and this one seems to work best for me. The Pods folder is rightly ignored, since it is a generated end-state. Also, the Podfile.lock file is included, which provides valuable metadata about the state of a build during various commits.
.idea/ is only needed who using AppCode
c
crosscode

If you are creating a new project from scratch in Xcode 6 ... there is no need for a long .gitignore file anymore, as I pointed out in my last post: Apple optimized the standard project file and folder structure to meet the requirements for clear and straight forward git commits. Apple also ignores two file patterns by default if you create the git repository with a Xcode project template:

.DS_Store
UserInterfaceState.xcuserstate

They added them to your .git/info/excludes file in your project directory. So no need to re-ignore them in .gitignore :-)

The only thing I always include in a .gitignore file is the

# Exclude personal Xcode user settings
xcuserdata/ 

Would you mind putting the third line into the top piece, so I don't have to copy twice every time I come to this answer, please? I hope it gets 133 upvotes, too!
@Yar ... as I described above: the only line you need in your .gitignore file is the exclusion of xcuserdata/. The other two lines are already handled by Apple by default. So no need to copy those three lines to your .gitignore file.
Oh! Wow. That's actually something I can type by hand. Great stuff, thanks for sharing and good luck here on SO.
w
whyceewhite

Refer to Github's Xcode.gitignore file to always have an updated listing of which Xcode files to ignore.