Contributor Tips

tl;dr

After navigating to the project forked from github on the Macbook, these three commands to make frequent commits:

$ git clone https://github.com/repo // origin branch $ git pull origin master // as reqd. $ git add . $ git commit -m "<commit note text>" $ git push

YOUTUBE WBg9mlpzEYU Git 101 Stuff They Didn't Teach - Scott Hanselman

longer

Telling Git about your signing key on open source projects. Apache, MIT, BSD and other GNU licenses.

# Git PAT - Create a personal access token (PAT) page - Update CLI to use Git PAT page

Telling Git about your signing key...

# Use Git CLI Make sure you sign your commit using git commit -s for more information see page

note: Do NOT use Web UI with DCO.

# Use DCO for LF Making codebase conformant to Developer Certificate of Origin (DCO) sign-off (http://developercertificate.org) for Linux Foundation requirements: a step-by-step plan page

# Git Workflow The process of submitting a pull request is fairly straightforward and generally follows the same pattern each time: 1 - Create a feature branch 2 - Make your changes 3 - Rebase 4 - Check your submission 5 - Create a pull request 6 - Update the pull request 7 - Commit Message Guidelines # Create a feature branch git checkout master git pull origin master git checkout -b <name-of-the-feature> # Make your changes Modify the files, build, test, lint and eventually commit your code using the following command: git add <path/to/file/to/commit> git commit git push origin <name-of-the-feature> The above commands will commit the files into your feature branch. You can keep pushing new changes into the same branch until you are ready to create a pull request. # Rebase Sometimes your feature branch will get stale with respect to the master branch, and it will require a rebase. The following steps can help: git checkout master git pull origin master git checkout <name-of-the-feature> git rebase master <name-of-the-feature> note: If no conflicts arise, these commands will ensure that your changes are applied on top of the master branch. Any conflicts will have to be manually resolved. # Create a pull request If you've never created a pull request before, follow these instructions . Pull request title must be formatted according to Commit Message Guidelines. Pull request samples can be found here # Update the pull request git fetch origin git rebase origin/${base_branch} # If there were no merge conflicts in the rebase git push origin ${feature_branch} # If there was a merge conflict that was resolved git push origin ${feature_branch} --force note: If more changes are needed as part of the pull request, just keep committing and pushing your feature branch as described above and the pull request will automatically update.

note: If you commit is DCO signed you will need to wait for a consensus of maintainers to approve your PR. This can range from 1 to 4 people.

Use Raw button to edit MD

# Editing Git Docs (long RFCs and other doco in external editor) Make sure to edit the raw, if you use an external editor; use the raw button and commit any changed doc e.g. page

Brew

$ brew update && brew upgrade && brew upgrade --cask && brew cleanup

Personal Access Token

GitHub PAT creation procedures page

$ gh auth login ? What account do you want to log into? GitHub.com ? What is your preferred protocol for Git operations? HTTPS ? Authenticate Git with your GitHub credentials? Yes ? How would you like to authenticate GitHub CLI? Paste an authentication token Tip: you can generate a Personal Access Token here https://github.com/settings/tokens The minimum required scopes are 'repo', 'read:org', 'workflow'. ? Paste your authentication token: **************************************** - gh config set -h github.com git_protocol https ✓ Configured git protocol