GitHub Procedures: Difference between revisions
Line 92: | Line 92: | ||
There are three options: | There are three options: | ||
* '''Create a merge commit''': all commits from the [[Git_Concepts#Head_Branch|head branch]] will be added to the [[Git_Concepts#Base_Branch|base branch]] with a [[Git_Concepts#Merge_Commit|merge commit]]. | * <span id='Create_a_Merge_Commit'></span>'''Create a merge commit''': all commits from the [[Git_Concepts#Head_Branch|head branch]] will be added to the [[Git_Concepts#Base_Branch|base branch]] with a [[Git_Concepts#Merge_Commit|merge commit]]. The commits on the head branch are preserved in the repository. The merge is performed using the [[Git_merge#--no-ff|--no-ff]] option. | ||
* '''Squash and merge''': | * '''Squash and merge''': | ||
* '''Rebase and merge''' | * '''Rebase and merge''' |
Revision as of 21:21, 7 August 2019
Internal
Making a Public Release
Overview
This is the procedure to make a "public release" for a GitHub-hosted project. This type of releases are accessible via the GitHub project page -> "releases" tab. The release procedure assumes that the release tag was already applied to the repository, either manually or via nort. At the time of the writing, nort is being extended to automate this procedure.
Procedure
GitHub Project Home -> "releases" tab -> "Draft a new release"
Copy and paste the release tag from the local release procedure output or from git tag output. The format is similar to "[project-name-]release-4.2.2".
Upon pasting it into the release input box, the site should recognize it as "Existing tag".
Release title: 4.2.2
Describe the release:
Specify Introduced features and defect fixes. This will be part of the release history. Projects maintain notes to be consolidated into the release announcement in ./doc/release-notes.md. Copy and edit the content from there.
Attached files:
- If is an installable release, attach binaries: "Attach binaries by dropping them or selecting them."
- If it is a library release, don't attach anything, as the libraries can be recreated from the tagged source tree, and in the future, we'll publish to a public Maven repository.
"Publish release"
Clean ./doc/release-notes.md and commit.
cat /dev/null > ./doc/release-notes.md git add ./doc/release-notes.md git commit -m "cleaned ./doc/release-notes.md post-release" git push
Link to a Specific Line
Use #L<start>-L<end>
https://github.com/moby/moby/blob/master/oci/defaults.go#L14-L30
Issue Queries
is:issue is:open author:ovidiuf
Create a Personal Access Token for Command Line
This procedure describes creation of personal access tokens:
Profile-photo icon -> Drop Down -> Settings -> Developer settings -> Personal Access Tokens -> Generate a new token.
Token description:
OAuth scopes: To use your token to access repositories from the command line, select repo.
Make sure to copy your new personal access token now. You won’t be able to see it again!
GitHub Authentication for AWS CodePipeline
Pull Request Procedures
Search Pull Requests
Open Pull Requests
is:pr is:open
Based on the Branch They Are Merging Into
base: BASE_BRANCH
By Author
author: USERNAME
Merge an Approved Pull Request
There are three options:
- Create a merge commit: all commits from the head branch will be added to the base branch with a merge commit. The commits on the head branch are preserved in the repository. The merge is performed using the --no-ff option.
- Squash and merge:
- Rebase and merge