5. • If you commit often:
• Your commits will be smaller
• Your history will be more readable
• It will be easier to cherry-pick or revert
martes, 17 de septiembre de 13
10. • If you commit only related changes
• Your history will be more readable
• It will be easier to find bugs
• It will be easier to cherry-pick or revert
martes, 17 de septiembre de 13
12. • If you use branches
• It will cost you less effort to switch
context
• It will be easier to do code review
• You will try new things more often
• It will be easier to refactor
martes, 17 de septiembre de 13
13. Use branches
Have you ever tried to change a branch in XCode?
XCode 4 XCode 5
martes, 17 de septiembre de 13
16. • You will have problems with
• xcuserdata
• xcworspacedata
• Core Data Models
• .xib files
• Story Boards
• Assets
martes, 17 de septiembre de 13
17. How to
deal with / mitigate
THE problem
martes, 17 de septiembre de 13
18. • xcuserdata
• Do not include this file in your
rempository
• Use a good .gitignore file
• http://stackoverflow.com/questions/
49478/git-ignore-file-for-xcode-projects
martes, 17 de septiembre de 13
19. • xcworkspacedata
• ... you will have to resolve conflics
manually
martes, 17 de septiembre de 13
20. • Core Data Models
• Create the models on code
(Daniel Eggert contribution)
• Use migrations
•Test your models
• Sessions and Workshops during the
conference!!
martes, 17 de septiembre de 13
21. • XIB and Story Boards
• ... well, if it was easy our life would be
much boring!!
martes, 17 de septiembre de 13
22. Do not use xib files or story
boards:
Yes, you will have to write code
martes, 17 de septiembre de 13
23. This is my code, don’t you dare touch it!!
martes, 17 de septiembre de 13
24. • If you want to use Interface Builder
• Split the story boards
• Use xib files instead of story boards
• Agree on a workflow and/or protocol
• Good team comunication
• Use file locking (subversion)
• git checkout --theirs / git checkout --ours
martes, 17 de septiembre de 13
30. Is git your tool?
martes, 17 de septiembre de 13
31. • Git is not perfect
• BAD for binary files
• No folders
• Guess file renaming
• Too flexible
• Steep learning curve
• No file locking
martes, 17 de septiembre de 13