Simplifying submitting Merge Requests
As the usage of Git continues to be a challenge for many students, to an extent, where I needed to spend quite a lot of time explaining how to properly submit your work in a Merge Request [HowTo_MR.pdf]. To save this time and to have the guaranty, that this workflow will be used throughout the entire project, I implemented a One-Button-Solution. In this way all development is done on feature branches, without the need of managing different branches and the only merges on the default branch, that have to be done on the local repositories are fast-forward merges, keeping the resolving of possible conflicts to the person, merging the merge request.
Workflow
Start feature by clicking Start Feature
- the latest state of the default branch is pulled
- a new branch
Creating the Merge Request
- this is still done on GitLab/GitHub/etc.
Checking if the feature is merged
- a
git branch <default-branch> --merged | grep <feature-name>
is performed
- on an empty result the branch is not merged and the UI shows Not merged yet.
-
Not merget yet:
the user can just continue commiting and pushing
- Merged:
the user provides a new feature-name and clicks again on Start Feature
TODO:
- [ ] user tests
- [ ] change feature-state field to not look like input field
- [ ] restrict naming of features (no spaces...)
- [ ] cancel feature option
- [ ] better UI feedback