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.
Use
git cherry pick -x
The "-x" adds "cherry picked from commit"
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