I highly recommend starting with git - while I once preferred perforce, I don't like paying for it, and the lack of Xcode integration makes it tedious. Git is supported in Xcode 4. Using it without integration for a month or two would be invaluable, since then you will understand more about what is happening ... SCM, like backing up data, is only good when you understand it and use it correctly.
I like Git because it can be used as a local SCM with replication / synchronization with a central repository. It is widely used and actively supported. This is free and open source, and I used it as part of a team providing a very sophisticated and successful iPhone app.
I really like Git Tower as a GUI.
Adam eberbach
source share