|
|
(10 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Github is a website that provides free public hosting of opensource projects.<br> | | Github is a website that provides free public hosting of [[git]] repositories.<br> |
| It also provides other features like documentation hosting, issue tracking etc. | | It also provides other features like documentation hosting, issue tracking etc. |
|
| |
|
Line 6: |
Line 6: |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
| | RESTAPI-v3 docs || https://developer.github.com/v3/ | | | official docs || https://docs.github.com/en |
| | |- |
| | | home || https://github.com/ |
| |- | | |- |
| |} | | |} |
Line 13: |
Line 15: |
| = Notes = | | = Notes = |
| <blockquote> | | <blockquote> |
| {| class="wikitable" | | {| |
| | |- |
| | | [[github api]] |
| |- | | |- |
| | [[github ui]] | | | [[github ui]] |
Line 19: |
Line 23: |
| | [[github git]] | | | [[github git]] |
| |- | | |- |
| | [[github api]] | | | [[github actions]] |
| |- | | |- |
| | [[github markdown]] | | | [[github markdown]] |
Line 26: |
Line 30: |
| </blockquote><!-- Notes --> | | </blockquote><!-- Notes --> |
|
| |
|
| = Common Tasks = | | = Tools = |
| <blockquote> | | <blockquote> |
| | | {| |
| = Github Actions =
| |
| <blockquote>
| |
| {| class="wikitable" | |
| |- | | |- |
| | expression syntax || https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions | | | [[git]] |
| |- | | |- |
| |} | | | [[gh]] |
| </blockquote><!-- github actions -->
| |
| | |
| = PR magic =
| |
| <blockquote>
| |
| == fixes/closes ==
| |
| https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue
| |
| | |
| | |
| </blockquote><!-- PR magic -->
| |
| | |
| = Firewall =
| |
| <blockquote>
| |
| == Getting github.com ip-address ==
| |
| github uses an unconventional setup for it's ip-addresses. Simply using a hostname resolves to just one of their
| |
| possible servers. If you are creating firewall rules, you'll need to create them for each address range. Here is
| |
| some code I've used to do this successfully in the past.
| |
| | |
| {{ expand
| |
| | python script to get github address ranges
| |
| |
| |
| <source lang="python">
| |
| import sys
| |
| import json
| |
| import os
| |
| | |
| if sys.version_info[0] < 3:
| |
| from urllib2 import urlopen
| |
| else:
| |
| from urllib.request import urlopen
| |
| | |
| | |
| def get_github_urls():
| |
| """
| |
| Returns:
| |
| list: ``[ '1.2.3.4/24', ... ]``
| |
| """
| |
| url = 'https://api.github.com/meta'
| |
| reply = urlopen(url)
| |
| | |
| if sys.version_info[0] < 3:
| |
| status = reply.code
| |
| else:
| |
| status = reply.status
| |
| if status != 200:
| |
| raise RuntimeError('Unexpected reply: {}'.format(repr(reply)))
| |
| | |
| # decode
| |
| rawdata = reply.read().decode('utf-8')
| |
| data = json.loads(rawdata)
| |
| | |
| return data['git']
| |
| </source>
| |
| }}
| |
| | |
| See
| |
| {|
| |
| | stackoverflow question || https://superuser.com/questions/704230/what-ports-to-open-up-for-github-to-install-and-work
| |
| |- | | |- |
| | official docs on githug ip-addrs || https://help.github.com/en/articles/about-githubs-ip-addresses | | | [[github-searcher-cli]] |
| |}
| |
| </blockquote><!-- firewall -->
| |
| | |
| | |
| = Tips/Tricks =
| |
| <blockquote>
| |
| | |
| == Find PR from commit ==
| |
| <source lang="bash">
| |
| git log --merges --ancestry-path --oneline 9c34e5f6af..master \
| |
| | grep 'pull request' \
| |
| | tail -n1 \
| |
| | awk '{print $5}' \
| |
| | cut -c2- \
| |
| | xargs gh pr view -w
| |
| </source>
| |
| | |
| <source lang="bash">
| |
| # alternatively:
| |
| git describe --all --contains <commit> # returns branch name
| |
| | |
| </source>
| |
| </blockquote><!-- tips/tricks -->
| |
| | |
| = 3rd Party Tools =
| |
| <blockquote>
| |
| {|
| |
| | [[gh]] || official commandline client for github
| |
| |- | | |- |
| | [[github-searcher-cli]] || search github from the commandline | | | [[gh-search-cli]] |
| |- | | |- |
| | [[gh-search-cli]] || search github from the commandline
| |
| |} | | |} |
| | | </blockquote><!-- Tools --> |
| </blockquote><!-- 3rd party tools --> | |