Minimum grade of C- in CMSC216 and CMSC250.
Version control is an essential skill for developers to learn. Git is the most popular version control system and GitHub is the industry-standard tool for collaborating on and sharing code. Students will be introduced to the fundamental concepts of the Git architecture and using Gitto manage code. Students will learn from basic to advanced Git commands to track modifications to a source code repository and collaborate on a shared codebase, how to use Github ecosystem to enhance their project management workflow, and other project management tools. At the end of the course students will be able to add and delete files in the repository, commit changes, create branches, merge pull requests, check logs and handle merge conflicts. Students will also learn advanced features such as cherry-picking, rebasing, adding multiple remotes, creating Github actions to automate the procedures, exploring existing open source projects on Github, making contributions, and using Kanban boards to track progress.