GitHub workflow for a forked repository
The following image illustrates the workflow for using Git and GitHub to update files in the PowerShell-Docs repository. The steps shown in red are a one-time action for each new repository you fork.
| Steps | Description of steps | Git command / GitHub actions |
|---|---|---|
| A | Fork the repo | Browse to https://github.com/PowerShell-Docs/PowerShell-Docs and select the Fork button (top right). Open the Choose and owner dropdown and select your personal account. Select the Create fork button. |
| B | Clone the repo (once per machine) | git clone https://github.com/<your-account>/PowerShell-Docs.git |
| C | Add the upstream remote | git remote add upstream https://github.com/PowerShell-Docs/PowerShell-Docs.git |
The numbered steps (in black) are described in the table below.
| Steps | Description of steps | Git command / GitHub actions |
|---|---|---|
| 0 | Checkout the main branch | git checkout main |
| 1 | Sync the main branch | git pull upstream maingit push origin main |
| 2 | Create a new working branch | git checkout -b workingbranch |
| 3 | Create new content | Use VS Code to create or edit files |
| 4 | Add changes for Git tracking | git add -A |
| 5 | Commit changes to local repo | git commit -m 'commit message' |
| 6 | Push working branch to fork | git push origin workingbranch |
| 7 | Submit pull request | Go to https://github.com/MicrosoftDocs/PowerShell-Docs/pulls and click the New pull request button.Base repository: MicrosoftDocs/PowerShell-Docs base: main <– head repository: username/PowerShell-Docs compare: workingbranch Fill out the pull request description and click Submit. |
| 8 | PR is reviewed | Make the necessary changes based on the review feedback. |
| 9 | PR is merged | Go to step 10 |
| 10 | Cleanup unneeded branch info | git checkout maingit push origin --delete workingbranchgit branch -D workingbranchThe git push command deletes the branch in your fork and deletes the tracking branch from your local repo. The git branch command deletes the branch from your local repo. |
| 11 | Start new change | Go to step 0 |
