Github: Difference between revisions

From wikinotes
 
(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 -->

Latest revision as of 15:54, 19 September 2021

Github is a website that provides free public hosting of git repositories.
It also provides other features like documentation hosting, issue tracking etc.

Documentation

official docs https://docs.github.com/en
home https://github.com/

Notes

github api
github ui
github git
github actions
github markdown

Tools

git
gh
github-searcher-cli
gh-search-cli