This repository contains a collaborative coding exercise designed to help students practice Git workflows including branching, committing, and creating pull requests.
This is a simple web application that displays a list of programming languages with their features. Students will work in groups to add new languages and features to the application.
- Clone this repository
- Each group should create their own branch:
git checkout -b group-[number]-[feature] - Make your changes
- Commit your changes:
git commit -m "Add [your feature]" - Push your branch:
git push origin group-[number]-[feature] - Create a Pull Request on GitHub/GitLab
- Add 2-3 new programming languages to the list
- Each student adds different languages
- Should merge without conflicts
- Add new features to existing languages
- Each student adds different features
- Should merge without conflicts
- Update descriptions of existing languages
- Multiple students may edit the same language
- Will likely create merge conflicts
- Change the data structure format
- Multiple students may modify the same files
- Will definitely create merge conflicts
- Creating and switching between branches
- Making commits with meaningful messages
- Pushing branches to remote
- Creating pull requests
- Resolving merge conflicts
- Code review process
- Collaborative development workflow
index.html- Main application filestyles.css- Styling for the applicationscript.js- JavaScript functionalitydata/languages.json- Programming languages datadocs/- Documentation filestests/- Test files
When merge conflicts occur:
- Pull the latest changes from main branch
- Identify conflicting files
- Open conflicting files and look for conflict markers (
<<<<<<<,=======,>>>>>>>) - Decide which changes to keep or combine them
- Remove conflict markers
- Stage and commit the resolved files
- Complete the merge
- Proper branch naming
- Meaningful commit messages
- Clean pull request descriptions
- Successful conflict resolution
- Code quality and functionality
- Team collaboration