Version control for audit

Hi.I am running some scripts from a "scripts" directory for my job (I am working in Financial industry).For compliance purposes I need to use a "release" directory when running them using some sort of version control(CVS,SVN or GIT) in case the program is audited.Basically I have to maintain a dev directory and a production directory ,the production directory being locked or read only and every change I make has to be tracked if necessary .I used GIT ,as I found it very nice and so whenever I make a change I can deploy it in a branch .My problem is that I do not know how to lock/unlock these branches .For example in the old days I used RCS which was very simple,unlock,make the change and lock it .Right now I am not sure what I am missing.I have a script running once a day where I add all the file in the scripts directory and commit them using GIT but obviously that does not solve the issue.Many thanks,
Mihail