Lazarus Team - Git Workflows
From Lazarus wiki
This page contains workflows for Lazarus team members, when working with GIT.
git pull --rebase
- Commits made by team members should have a linear history
If you have local commits to push, and the remote branch has new commits too, then use rebase. Do not create any merge commits.
git pull --rebase
or
git rebase
Merge Requests / Pull Requests
Merge requests should be included by creating a merge commit
git merge merge-request/foo
Note: To pull merger request to your local git: https://docs.gitlab.com/ee/user/project/merge_requests/reviews/#checkout-locally-by-modifying-gitconfig-for-a-given-repository
Cherry picking / Merging
Do not "squash" commits when cherry picking.
If commits are squashed, then "git cherry" wont work.
Issue Tracker
Milestone
When closing an issue, ensure to set the correct milestone.
If the issues is (or will be) merged to a fixes branch, set the milestone for the fixes release. (If the merge later fails, the milestone must be amended).
If you do not merge (cherry pick) yourself:
- leave the issue open
- Set the fixes milestone
- add the label
- merge::merge-and-close