
Version Control with Git
Using version control systems is one of the most basic methods to ensure the quality of your (coding) work, to organize cooperation with other developers, and to transparently add new features and bug fixes to existing projects. Surprisingly, it almost doesn't add any overhead to your work routine once you got accustomed to using version control, and it quickly helps you save time and work. In this course, we use one of the most prominent version control systems (and the de facto standard in open source software development), Git, to introduce the basic concepts behind version control, teach you the ten commands that are sufficient for doing (almost) everything you might want to do with Git. Finally we give an overview about the functionality of repository hosting services such as Bitbucket, GitLab, and GitHub.
Basic knowledge of the Linux / UNIX shell is needed. Visit the Introduction to the Command Line course.
The course includes all material from Software Carpentries - Version Control With git.
This course will be conducted in English.
Next Workshop
Date
TBA
Location
The course will be held in person in PC-room 0.012 at the HRZ, Wegelerstr. 6. The course is limited to 30 participants.
Agenda:
Version Control with git
- Automated Version Control
What is version control and why should I use it? - Setting Up Git
How do I get set up to use Git? - Creating a Repository
Where does Git store information? - Tracking Changes
How do I record changes in Git?
How do I check the status of my version control repository?
How do I record notes about what changes I made and why? - Exploring History
How can I identify old versions of files?
How do I review my changes?
How can I recover old versions of files? - Ignoring Things
How can I tell Git to ignore files I don’t want to track? - Remotes in GitHub
How do I share my changes with others on the web? - Collaborating
How can I use version control to collaborate with other people? - Conflicts
What do I do when my changes conflict with someone else’s? - Open Science
How can version control help me make my work more open? - Licensing
What licensing information should I include with my work? - Citation
How can I make my work easier to cite? - Hosting
Where should I host my version control repositories?