- Massimiliano Carloni
- Peter Provaznik
-
Take a look at the Pro Git Book and go through the Git Tutorial as well as some of the other resources referenced below.
-
See if you can find the GitHub repository of open-source software that you use regularly (or have used in the past). Take a look at branches, commits (and commit messages), issues, and pull requests. Also try cloning the repo and play around with the various Git commands locally.
-
Start using Git for your work, if you aren't already. By using it regularly, and doing your best to understand and solve any problems you might encounter, you will get comfortable (and competent) very soon, promise!
-
A commit always represents a complete snapshot of all version-controlled files (at the time). If you have committed something, you can most likely get it back somehow.
-
Make your commits as lean and clean as possible, and have them represent "meaningful chunks of work". Be sure to use descriptive commit messages. Commit often (at least once per day).
-
When collaborating with others, it is good practice to fetch / pull before every commit, to avoid unnecessary merges.
-
Pro Git Book: An excellent place to start (and come back to for reference).
-
Software Carpentry Git Tutorial: We recommend that you go through this at your own pace, especially if you are new to Git.
-
ACDH-CH Git HOWTOs by Omar Siam:
-
Git Cheat Sheet from GitLab
-
Exercise materials to build and sharpen your skills:
- Oh My Git!: An open source game about learning Git
- Learn Git Branching
- Git Katas (the README also has a nice cheatsheet)
-
Blog posts by Julia Evans (slightly more advanced / technical):
-
Graphical Git clients
- SourceTree: for Windows and Mac
- TortoiseGit: for Windows
- GitHub Desktop
-
Markdown
-
Interesting Repositories from hands-on 2:
- Linux kernel: https://github.com/torvalds/linux
- VLC media player: https://github.com/videolan/vlc
- Image editor GIMP: https://gitlab.gnome.org/GNOME/gimp
- LibreOffice account: https://github.com/LibreOffice
- Netflix account: https://github.com/Netflix
- Some awesome (literally) lists of resources: https://github.com/sindresorhus/awesome
- ... and Visual Studio Code itself! https://github.com/microsoft/vscode