Both sides previous revisionPrevious revisionNext revision | Previous revision |
evergreen-docs:github-workflow [2023/04/28 11:51] – Gina - add deets gmonti | evergreen-docs:github-workflow [2023/12/28 15:54] (current) – aneiman |
---|
- In your terminal, if you haven't yet, add the main Evergreen repo (on GitHub) as a remote (make sure you're in the directory you're working on before running command) | - In your terminal, if you haven't yet, add the main Evergreen repo (on GitHub) as a remote (make sure you're in the directory you're working on before running command) |
- ''%%git remote add github-evergreen https://github.com/evergreen-library-system/Evergreen.git%%'' | - ''%%git remote add github-evergreen https://github.com/evergreen-library-system/Evergreen.git%%'' |
- Update your local master branch to reflect any changes from "origin" | - Update your local main branch to reflect any changes from "origin" |
- ''git checkout master; git fetch origin; git pull origin master'' | - ''git checkout main; git fetch origin; git pull origin main'' |
- Fetch the pull request branch into a new local branch | - Fetch the pull request branch into a new local branch |
- ''git fetch github-evergreen pull/[PULL_REQ_NUMBER]/head:[BRANCHNAME]'' | - ''git fetch github-evergreen pull/[PULL_REQ_NUMBER]/head:[BRANCHNAME]'' |
- Cherry pick the relevant commits into your local copy of the master branch. | - Cherry pick the relevant commits into your local copy of the main branch. |
- If only one commit: ''git cherry-pick -s [BRANCHNAME]'' | - If only one commit: ''git cherry-pick -s [BRANCHNAME]'' |
- If more than one: ''%%git cherry-pick -s [BRANCHNAME]~[Number of commits]..[BRANCHNAME] --edit%%'' (for example, if you are bringing in two commits from the survey-docs branch, run ''%%git cherry-pick survey-docs~2..survey-docs) --edit%%'' | - If more than one: ''%%git cherry-pick -s [BRANCHNAME]~[Number of commits]..[BRANCHNAME] --edit%%'' (for example, if you are bringing in two commits from the survey-docs branch, run ''%%git cherry-pick survey-docs~2..survey-docs) --edit%%'' |
- The ''%%--edit%%'' flag will permit you to edit all commit messages as they come in. | - The ''%%--edit%%'' flag will permit you to edit all commit messages as they come in. |
| - If you need to squash commits: |
| - From your local branch, enter ''git rebase -i HEAD~2'' (where 2 is the number of commits you wish to combine) |
| - Your text editor will open and should show both of the commits, for example: |
| - ''pick [COMMIT HASH 1] [COMMIT MESSAGE 1]'' |
| - ''pick [COMMIT HASH 2] [COMMIT MESSAGE 2]'' |
| - Change the word ''pick'' in the second line to ''fixup'' then save and close the file. This merges the commits and retains the first line's commit message. |
| - Check gitlog to ensure that you now have a single commit |
- Make any corrections (via additional commits, if needed) | - Make any corrections (via additional commits, if needed) |
- Use ''git log'' to make sure everything looks good. | - Use ''git log'' to make sure everything looks good. |
- Example: "Resolves LP#1234567" | - Example: "Resolves LP#1234567" |
- (If the GitHub author does not match the author's identity in git.evergreen-ils.org, consider fixing it with ''%%git commit --amend --author="NAME <email>"%%'') | - (If the GitHub author does not match the author's identity in git.evergreen-ils.org, consider fixing it with ''%%git commit --amend --author="NAME <email>"%%'') |
- When you are confident your local master branch is ready: ''git push origin master'' | - When you are confident your local main branch is ready: ''git push origin main'' |
- Backport to previous EG versions as appropriate | - Backport to previous EG versions as appropriate |
- ''git checkout rel_3_8'' (where rel_3_8 is the branch for previous version) | - ''git checkout rel_3_8'' (where rel_3_8 is the branch for previous version) |
- ''git pull'' (to get the most up-to-date version of the branch) | - ''git pull'' (to get the most up-to-date version of the branch) |
- If one commit: ''git cherry-pick master'' | - If one commit: ''git cherry-pick main'' |
- If more than one: ''git cherry-pick master~[Number of commits]..master'' | - If more than one: ''git cherry-pick main~[Number of commits]..main'' |
- ''git push'' | - ''git push'' |
- Go back to the pull request on Github's site. Comment on the pull request to thank the contributor, then close the pull request. | - Go back to the pull request on Github's site. Comment on the pull request to thank the contributor, then close the pull request. |