Size: 3341
Comment:
|
Size: 3162
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 26: | Line 26: |
* If you want to push each commit automatically, add the file {{{.git/hooks/post-commit}}} to the {{{.git}}} directory your repo. The file should contain: {{{ git push }}} |
A version control system is useful when working on a collection of files that evolves over time, in particular if several people are modifying the files. For example, version control is often used in software projects to store the code in a way that several developers can access and contribute to the code without the need to send files by e-mail etc. Another example is when you are writing a paper with your colleagues and you need to efficiently and safely share your additions to the paper. A version control system also keeps track of the history of your contributions; most version control systems can be used to retrieve the state of your files as of a given date. This means that there is no need to create local back-up copies. To make it short and sweet: version control means you can relax.
Git
Git is currently the preferred version control tool at the department. For starters you might want to look at a git tutorial I wrote some time ago git-tutorial.pdf. There are also heaps of tutorials out on the net. A quite comprehensive manual is Git Magic, another pretty good one is Git for Scientists. It is also quite handy to have a cheat sheet handy beside the keyboard for those quick command-and-options lookups.
Talk to Anders Nilsson in order to have a repository for your files set up, or if you want to know more about version control.
Setting up GIT
You can run GIT locally on your machine. How to do this is covered here. If you want a repo subsiding on one of the control servers, this is what to do: Go to gitlab.control.lth.se, create a user, create a project, follow the instructions.
If you need to create an SSH key pair, instructions are found here: here.
To push changes to the remote server, first commit locally git commit -am "This version is awesome.", then push to the server git push. Likewise you can pull changes from the server git pull.
- If you are annoyed by always having to type a message when you commiting:
git config --global alias.co 'commit -a --allow-empty-message -m ""' git config --global alias.com 'commit -a --allow-empty-message -m'
- On OS X you might encounter annoying warnings like:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
when communicating with the server. An easy fix to this is to avoid sending your locale settings to the server over SSH, by commenting out SendEnv LANG LC_* in /etc/ssh_config (sing a leading #).