- Fork the repo
- Clone forked version
- Create branch (from master!) with task number and descriptive name (see rule #3)
- Implement your task
- Check if your work doesn't go against the rules
- Commit changes and push branch to a remote
- Create pull request IN THIS REPO from your branch
- Check your pull request
- Wait until review is done
- Check results and answer questions
- All tests are passed
- Branch is correct and branched from master
- Pull request changes are correct (only code from one task)
- Pull request title contains task name and your surname
Please respect the template:
├───include # Your task is defined here.
├───src # !!!!! Your implementation will be here (for non-template tasks) !!!!!
└───tests
├───cmake_modules # Utils for downloading unit tests
└───unit_tests
├───headers # Mock classes and testing data
└───src # !!!!! Task unit tests !!!!!
If something does not work, check recommended environment.
If google test does not compile, try define in CMake:
gtest_disable_pthreads=ON
- Packages:
- unzip
- wget
- Tools:
- CMake 3.0+
- C++ compiler that supports C++17 filesystem
For Ubuntu:
sudo apt-get install wget unzip cmake
- Ubuntu
- Qt Creator IDE
- gcc 7.3.0+ (or latest)
- gdb
- Install git
- Setup ssh access
- Learn how to:
- Clone repository:
git clone git@github.com:smay1613/LTC-STL-Student.git
- Check current status (branch, remote, etc) - do this before and after any command!:
git status
- Switch to another branch:
git checkout -b task_name_YourSurname
(-b creates a branch from the current branch) - ....implement task.....
- ....check if everything is ok....
- Add files to index:
git add *changed files with code*
- Commit changes and write meaningful commit message:
git commit
- Push to remote:
git push
- ....create pull request on Github....
- Switch back to master branch:
git checkout master
- Clone repository: