OpenLab 2014/05 | Git, GitHub, TravisCI intro
- Date: 17. 10. 2014
- Workshop by: Martin Ukrop
- Cake: almost a lie, evidence here
- Cake by: Karel Kubíček
Introduction to Git versioning system. Various public repositories, most notably GitHub. Features of GitHub. Connecting GitHub repository to Travis Continuous Integration system.
Repository
The repository created during this OpenLab is publicly available from https://github.com/mathius/openlab-git-intro.
Further notes
Below are some notes used for the workshop.
- SCM in general, SVN vs. GIT. (ungit demo)
- git installation
- CLI unix: add module git
- CLI win: Git for Windows, Git SCM
- GUI win: GitHub for Windows
- GUI win/mac: SourceTree
- GUI win/mac/linux: ungit (installation on windows)
- git resources: man pages, ProGit, Think like a git
- GitHub account creation
- GIT intro (distributed, modified-staged-commited, hash ID)
- basic usage (clone, add commit, push, pull)
- Task: create new repository, add sourcecode (factorial), commit, push,
- branching introduction, branching local, network view
- git branch, git checkout, git merge
- git log –oneline –abbrev-commit –all –graph –decorate –color
- split factorial functionality into separate file in test branch, update Readme in the meantime
- Task: make new branch, make changes in both master and new, merge, push
- GitHub support tools
- wiki, issues, tags, releases, stats
- GitHub Education: Student developer pack
- very brief intro to GNU Make
- Makefile (targets, dependencies, rules)
- Task: create makefile for your project
- CI intro, TravisCI
- config creation, GitHub hook activation, build notification
- Task: get email about passed build
- unit testing
- CATCH unit tests, add header, create testing source
- modify Makefile to include testing build and test target
- Task: automatic tests on TravisCI