------------------------------------------------------------------------------- Gitlab & Github This is mostly straight forward in the web GUI via menus, but some things can be tricky. To complete rewrite (collapse) Repo History The main 'master' branch must be unprotected Git Repo -> Settings -> General -> Advanced (right to the bottom) Repository Protection To delete a repository Git Repo -> Settings -> General -> Advanced (right to the bottom) -> Delete Repository ------------------------------------------------------------------------------- Download the latest from a github public repo [ "${OSTYPE}" = "x86_64" ] && BIN="amd64" || BIN="arm64" REPO="jgm/pandoc"; \ curl -s https://api.github.com/repos/${REPO}/releases/latest | grep -o "https://.*\.${BIN}\.deb" | xargs curl -fsLJO OR lookup the URL from json curl -s https://api.github.com/repos/${REPO}/releases/latest | grep -E 'browser_download_url' | grep linux_${BIN} | cut -d '"' -f 4 | wget -qi - Or extract properly from the json using... curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | jq -r '.assets[].browser_download_url | select(test("'${BIN}'.deb"))' | xargs curl -fsLJO Can be simplified using the 'gh' command (python command in linux repos) gh release download [] [flags] ------------------------------------------------------------------------------- Download using Gitlab tokens. Set a access token for your repository and copy it. With at least the credentials read_repository, write_repository These could be assigned to a specific repository, or to a specific user WARNING: all credientals expire! If not set it is 1 year The token is used as a HTTP Basic Antentication Password with any username (for a repo specific token) https://stackoverflow.com/questions/42074414 Now clone the GIT repo git clone https://gitlab.com/user/repo.git Username for ...: {any identifier} Password for ...: {...token...} If it fails with... "remote: HTTP Basic: Access denied...." This is misleading, and usualy means no token as been set, or matched File Based Storage of token... In an existing config you can set... vi ".git/config" [remote "origin"] url = https://gitlab-ci-token:{..token..}@gitlab.com/{..repo_path..} Or vi .git/config [remote "origin"] url = https://gitlab.com/{..repo_path..} vi ~/.config/git/config [credential] helper = store vi ~/.config/git/credentials https:{..id..}:{..token..}@gitlab.com Cache it for a short time (in seconds)... default timeout is 900 (15 minutes) git config --global credential.helper 'cache --timeout=300' or vi ~/.config/git/config [credential] helper = cache --timeout=300 Using libsecret to store in password protected Gnome Keyring... Next time it asks for a secret it will be stored into the gnome keyring (Assuming the keyring has been opened! git config --global --add credential.helper libsecret or vi ~/.config/git/config [credential] helper = libsecret For more info See ~/info/crypto/keyring_gnome.txt Also https://www.softwaredeveloper.blog/git-credential-storage-libsecret ------------------------------------------------------------------------------- README.md GITLab Markdown guide... https://docs.gitlab.com/ee/user/markdown.html Also see "info/data/markdown.txt" Also see "info/data/markdown_syntax.md" --- Linking to info in other projects... NOTE: if you are refering to a different project YOU MUST use the full URL with server name or it will just jump to the same project... Arrrgghhh.... =======8<--------CUT HERE---------- Link to a different project is easy... s3-unix/environs> Link to a file in project is hard... [README ](https://git.griffith.edu.au//S3-Unix/environs/-/blob/master/README.md) For source readability a reference link maybe better... [README][1] References... [1]https://git.griffith.edu.au/S3-Unix/environs/-/blob/master/README.md =======8<--------CUT HERE---------- ------------------------------------------------------------------------------- Removing all artifacts That is the web site or other data a repository CI may create This is not easy... https://forum.gitlab.com/t/remove-all-artifact-no-expire-options/9274/8 Seems the best way is using a script https://gist.github.com/carceneaux/b75d483e3e0cb798ae60c424300d5a0b -------------------------------------------------------------------------------