Operations 16 min read

Unlock GitHub’s Hidden Power: Gist, CLI, Actions, and More

This guide walks you through advanced GitHub features—including Gist snippets, web‑based file creation, keyboard file search, the GitHub CLI, powerful Actions workflows, issue templates, submodule vs subtree strategies, and useful browser extensions—helping you boost productivity and streamline development operations.

macrozheng
macrozheng
macrozheng
Unlock GitHub’s Hidden Power: Gist, CLI, Actions, and More

Introduction

GitHub is essential for code hosting, yet many users only treat it as a simple repository without exploiting its richer features that can dramatically improve workflow efficiency.

Gist

Gist is a GitHub sub‑service that works like a pastebin, allowing you to create shareable code snippets with a unique URL and embed them in other pages using generated JavaScript.

Gist interface
Gist interface

Creating a new Gist presents a large text box where you provide a description, filename, and content, after which a unique URL is generated. You can embed the Gist via the embed button, which supplies JavaScript for syntax‑highlighted rendering.

Create Files via Web Interface

If you prefer not to create files locally and push them with git, you can use GitHub’s web UI ("Create new file") to add files directly in the browser.

Create new file UI
Create new file UI

File Search

Press T in a repository view to open the file finder, then type a filename or navigate with the arrow keys for rapid file location.

File search
File search

GitHub CLI

The GitHub CLI lets you interact with issues, pull requests, and other GitHub data directly from the terminal.

Installation

macOS:

$ brew install github/gh/gh
# Update if needed
$ brew update && brew upgrade gh

Windows (via Scoop):

scoop bucket add github-gh https://github.com/cli/scoop-gh.git
scoop install gh

After installation, run gh to verify.

Authentication

Running a command like gh issue list opens a browser for OAuth authorization; once authorized, you can list, create, and filter issues.

Create Issue

Use gh issue create and edit the body with your preferred editor (e.g., nano).

Filter Issues

Apply filters such as --label "dynamic programming" to narrow results.

Quick Browse

Open an issue in the browser with gh issue view --web for detailed inspection.

GitHub Actions

GitHub Actions provides CI/CD pipelines composed of workflow, job, step, and action elements.

Basic Concepts

workflow

: a complete CI run. job: a set of steps executed on a runner. step: an individual command or action. action: reusable code that performs a task.

Example: Deploy a React App to GitHub Pages

The workflow checks out the code, installs dependencies, builds the project, and deploys the build folder to the gh-pages branch using the JamesIves/github-pages-deploy-action action.

name: GitHub Actions Build and Deploy Demo
on:
  push:
    branches:
      - master
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      # Checkout code
      - name: Checkout
        uses: actions/checkout@v2
        with:
          persist-credentials: false
      # Install and build
      - name: Install and Build
        run: |
          npm install
          npm run build
      # Deploy
      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@releases/v3
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: gh-pages
          FOLDER: build

The workflow also requires a personal access token stored in Settings/Secrets as ACCESS_TOKEN.

Note: v3 of the deploy action requires passing environment variables via with ; v2 uses env instead.

Issue and Pull Request Templates

Place an .github/ISSUE_TEMPLATE.md file in the repository root to provide a default template for new issues. The same applies to pull‑request templates.

## Overview

Describe the bug.

## Reproduction Steps
1. ...
2. ...
3. ...

## Expected Behavior

Describe the correct behavior.

## Attachments

Add screenshots or logs.

GitHub Wiki

Each repository has a dedicated Wiki page that can host extensive documentation, complementing the shorter README.md.

Commit Heatmap

Press b on a file view to see a heatmap indicating recent changes per line, with links to the corresponding commits.

Commit heatmap
Commit heatmap

Git Submodules vs. Subtrees

Both manage external repositories within a project. submodule references an external repo, while subtree copies its contents, avoiding separate checkout steps. submodule documentation: https://git-scm.com/book/en/v2/Git-Tools-Submodules subtree documentation: https://einverne.github.io/post/2020/04/git-subtree-usage.html

Recommended GitHub Extensions

Octotree – adds a file‑tree sidebar for easier navigation.

isometric‑contributions – renders 3‑D contribution graphs.

Enhanced GitHub – shows repository and file sizes with direct download links.

Extension icons
Extension icons

GitHub Mascot – Octocat

GitHub’s mascot, the Octocat, is a fun visual element you can use as an avatar or in documentation.

Octocat examples
Octocat examples
CLIdevopsGitHubGitHub ActionsGiST
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.