| 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 [2024/07/10 08:03] (current) – Windows cmd doesn't let you separate commands with a semicolon sandbergja |
|---|
| - 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. |