$ mkdir newproject
$ cd newproject
$ git init
Initialized empty Git repository in /home/mbrubeck/newproject/.git/While that's a bit of git wonkery, it exposes an underlying truth about VC in general: You need to have something to commit to be using it. Whether you init the repository before or after the first file hits the disk is irrelevant.
I'd love to see this feature reach other SCM providersm, it's something i would use a lot.
This post http://www.debianadmin.com/filesystem-encryption-tools-for-l... has a fairly good introduction to the most popular flavours. It's going to vary depending on your needs.
I have a hangup about every atomic commit needing to be a functioning version of the software. Following this logic, an initial commit that is just notes is not viable. Even if it's just some function/class prototypes that only 'raise NotImplementedError', the first commit has to do something you can execute.
I've noticed a trend of boilerplate projects on GitHub for people to use as a foundational branch, and I think that's terrific.
For what other reason is source control used but to maintain track of code changes like this!
Regular Time Machine backups and archiving a copy of the code after implementing a key feature are the only things I'm doing at this stage.
Then your using rudimentary source control anyway :) I'd switch to something more structured asap.
Im with the others: at the start. :) With hosting so cheap now (my choice is mercurial and bitbucket) and with private repositories barely a few clicks away there is no reason not to IMO.
Use source control from the very start. Git is pleasant to use.
If your version control system has so much overhead that putting code under VC is a chore or something to be put off and planned for, then it has a problem - and you need a new VCS, or at the very least, a new set of tools and workflows.