I know Xcode can be hooked up to an SCM. But how would I set this up from scratch? How to check out / commit files into that, after setting it up?
Once it is set up, several new menu items appear in the SCM menu. You can right-click over specific filenames and perform some SCM operations that way.
You can also right-click over "Groups & Files" and enable "SCM" there, which will show which files are new or modified.
I never used Xcode's SCM features for anything more than to see what files I've modified, a feature that only helped me find the code I was currently fixing. For all the updates & commits, I would use the command line, but that's a personal preference. I'm a long-time command-line CVS and SVN user. It is faster for me on the command line.
I highly recommend starting with git - while I personally prefer perforce I don't like paying for it! Git is supported in Xcode 4 so when it is released you will be able to enable integration. Using it without integration for a month or two would be invaluable as you will then understand more of what is going on... SCM, like data backups, is only any good when you understand it and use it right.
I like git because it can be used as a local SCM with replication/sync with a central repository. It is widely used and actively maintained. It is free & open source, and I have used it as part of a team delivering a very complex and successful iPhone app.
A great guide for setting up subversion repository & configuring with XCode - http://iphonedevelopment.blogspot.com/2009/03/version-control-is-your-friend.html
Other useful resources -
1) http://developer.apple.com/tools/subversionxcode.html
2) http://stackoverflow.com/questions/431881/scm-for-xcode
3) http://www.covertapps.com/development/6-setting-up-your-xcode-scm-repositories
Thanks,
Sagar