Loading README.md +50 −46 Original line number Diff line number Diff line Loading @@ -169,10 +169,10 @@ Create a meaningful PR to any open-source project approved by the teacher (imple * Fork this repository * Upload SSH keys to your account ## Sylabus ## Syllabus **To be updated / confirmed** * Introduction of this course, organization, motivation, intro to VCS and git * **Week 1:** Introduction of this course, organization, motivation, intro to VCS and git * How did developers manage code before version control and why was it bad? * Definition of version control and what can you do with it. * Introduction to git. Loading @@ -180,33 +180,37 @@ Create a meaningful PR to any open-source project approved by the teacher (imple * The basics of Git Workflow and how to start with git * The most essential functionality: Cloning Repositories. * Basics of git: index, working tree, local repository, remote repository, configuration of git repositories, securing repositories with SSH keys. * How does branching work in git * **Week 2:** How does branching work in git * Art of commits. * Best practices for branching. * Git tags: why types there, how to use them and what’s their use case? * Stash: put your current work on a shelf and restore it later. * Moving and merging code: what to do when someone wants to contribute, how to accept it. * Fixing mistakes * How to revert a change? * Look into history what has changed, audit changes done in a repository. * Who has changed this file and why and when? * Resolving conflicts between changes. * The holy grail of git: interactive rebase. You *need to* understand this. * Different ways to find and undo changes made to a Git project and when to use them. * Working as a team with a git repository * **Week 3:** Working as a team with a git repository * Deep dive into remotes. What’s upstream and a fork? * How to work with multiple remote repositories? * Moving changes between remote repositories: push, pull and fetch * How can I check out someone else’s changes locally? * The golden rule of push. * Tracking remote repositories. * Git Etiquette * **Weeks 4 and 5:** Fixing mistakes * How to revert a change? * Look into history what has changed, audit changes done in a repository. * Who has changed this file and why and when? * Resolving conflicts between changes. * The holy grail of git: interactive rebase. You *need to* understand this. * Different ways to find and undo changes made to a Git project and when to use them. * **Week 6:** Git forges, automation and CI/CD * Git forges in general: GitHub, GitLab and other services. * CI/CD: pipelines, tests, build, delivery & deployment. * GitHub actions and GitHub marketplace applications. * GitLab CI. * **Week 7:** Git Etiquette * How to write a good commit message? * Best practices for contributing to open source projects. * How to submit a pull request? * How to review a pull request? * You need to know how to use force-push properly. * Git features and common open source git workflows * How to create an issue in an open source project? * Git interfaces and integrations * **Week 8:** * Advanced topis: submodules/subtrees, commit hooks, reflogs... * More content based on students' feedback Loading
README.md +50 −46 Original line number Diff line number Diff line Loading @@ -169,10 +169,10 @@ Create a meaningful PR to any open-source project approved by the teacher (imple * Fork this repository * Upload SSH keys to your account ## Sylabus ## Syllabus **To be updated / confirmed** * Introduction of this course, organization, motivation, intro to VCS and git * **Week 1:** Introduction of this course, organization, motivation, intro to VCS and git * How did developers manage code before version control and why was it bad? * Definition of version control and what can you do with it. * Introduction to git. Loading @@ -180,33 +180,37 @@ Create a meaningful PR to any open-source project approved by the teacher (imple * The basics of Git Workflow and how to start with git * The most essential functionality: Cloning Repositories. * Basics of git: index, working tree, local repository, remote repository, configuration of git repositories, securing repositories with SSH keys. * How does branching work in git * **Week 2:** How does branching work in git * Art of commits. * Best practices for branching. * Git tags: why types there, how to use them and what’s their use case? * Stash: put your current work on a shelf and restore it later. * Moving and merging code: what to do when someone wants to contribute, how to accept it. * Fixing mistakes * How to revert a change? * Look into history what has changed, audit changes done in a repository. * Who has changed this file and why and when? * Resolving conflicts between changes. * The holy grail of git: interactive rebase. You *need to* understand this. * Different ways to find and undo changes made to a Git project and when to use them. * Working as a team with a git repository * **Week 3:** Working as a team with a git repository * Deep dive into remotes. What’s upstream and a fork? * How to work with multiple remote repositories? * Moving changes between remote repositories: push, pull and fetch * How can I check out someone else’s changes locally? * The golden rule of push. * Tracking remote repositories. * Git Etiquette * **Weeks 4 and 5:** Fixing mistakes * How to revert a change? * Look into history what has changed, audit changes done in a repository. * Who has changed this file and why and when? * Resolving conflicts between changes. * The holy grail of git: interactive rebase. You *need to* understand this. * Different ways to find and undo changes made to a Git project and when to use them. * **Week 6:** Git forges, automation and CI/CD * Git forges in general: GitHub, GitLab and other services. * CI/CD: pipelines, tests, build, delivery & deployment. * GitHub actions and GitHub marketplace applications. * GitLab CI. * **Week 7:** Git Etiquette * How to write a good commit message? * Best practices for contributing to open source projects. * How to submit a pull request? * How to review a pull request? * You need to know how to use force-push properly. * Git features and common open source git workflows * How to create an issue in an open source project? * Git interfaces and integrations * **Week 8:** * Advanced topis: submodules/subtrees, commit hooks, reflogs... * More content based on students' feedback