Getting full Github URL of the latest commit
I want to share my latest commit’s url, previously I would go to Github repo, click the latest commit message, then copy the url.
gh repo view -w # Opens current repo in the browser
It turns out that building the URL is much simpler
gh browse -c -n | pbcopy # Returns current url of the last commit tree, then pipe to macOS clipboard # e.g. https://github.com/narze/advent-of-code-2022/tree/8de068f8645dbe1ba01f882f3e5326322ba07322
By the way I want to see the commit diff not the file tree, naive approach
gh browse -c -n | sed "s/\/tree\//\/commit\//" # Replaces /tree/ with /commit/
Neat! But it will cause bad URL if you ever have a repo called
So that I asked ChatGPT but…
I fallback to good ol’ StackOverflow and found the ultimate solution
echo "$(gh repo view --json url --jq .url)/commit/$(git rev-parse HEAD)"