Skip to content

Submitting a PR

Milan Holemans edited this page Sep 24, 2022 · 5 revisions

We appreciate your initiative and would love to integrate your work with the rest of the project! Here is how you can help us do it as quickly as possible.

  • check, that your feature branch is up-to-date. If it's not, there is a risk of merge conflicts or other issues that will complicate merging your changes into the main repository. Refer to these resources for more information on syncing your repo:

    • GitHub Help: Syncing a Fork

    • AC: Keep Your Forked Git Repo Updated with Changes from the Original Upstream Repo

    • Looking for a quick cheat sheet? Look no further:

      # assuming you are in the folder of your locally cloned fork....
      git checkout main
      
      # if you have no upstream yet run the command below. This has to be done only once
      git remote add upstream https://github.com/pnp/cli-microsoft365.git
      
      # assuming you have a remote named `upstream` pointing to the official cli-microsoft365 repo
      git fetch upstream
      
      # update your local main branch to be a mirror of what's in the main repo
      git pull --rebase upstream main
      
      # switch to your branch where you are working, say "issue-xyz"
      git checkout issue-xyz
      
      # update your branch to update its fork point to the current tip of main & put your changes on top of it
      git rebase main
  • submit PR to the main branch of the main repo. PRs submitted to other branches will be declined

  • let us know what's in the PR: is it a new command, bug fix or a minor update in the docs? The clearer the information you provide, the quicker your PR can be verified and merged

  • ideally 1 PR = 1 commit - this makes it easier to keep the log clear for everyone and track what's changed. If you're new to working with git, we'll squash your commits for you when merging your changes into the main repo

  • don't worry about changing the version or adding yourself to the list of contributors in package.json. We'll do that for you when merging your changes.

If you are not using the latest version of npm, you may notice that the file npm-shrinkwrap.json has changed after you have run the command npm i. You need not commit this change into your branch unless you have added new dependencies for the project. Most of the time the maintainers will take care of the project dependencies.