Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Nighthawk Cherry PickNew to Visual Studio Code? Get it now.
Nighthawk Cherry Pick

Nighthawk Cherry Pick

nighthawk-oss

| (0) | Free
Interactive graphical cherry-picking of commits between branches
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nighthawk Cherry Pick

A VS Code extension that provides an interactive graphical interface for cherry-picking commits between branches.

Features

  • Branch Selection - Choose source and target branches from a dropdown
  • Commit Search - Filter commits by message, file, or author
  • Interactive Selection - Select/deselect individual commits to cherry-pick
  • Squash Option - Combine multiple commits into a single commit
  • Branch Creation - Optionally create a new branch during cherry-pick
  • Push to Remote - Automatically push the new branch after cherry-picking
  • Conflict Detection - Reports conflicts when they occur during cherry-pick

Requirements

  • VS Code 1.85.0 or higher
  • Git installed and available in PATH

Installation

From VSIX File

  1. Download the .vsix file from the releases
  2. In VS Code, open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  3. Run "Extensions: Install from VSIX..."
  4. Select the downloaded file

From Source

# Clone the repository
git clone <repository-url>
cd nighthawk-cherrypick

# Install dependencies
npm install
cd webview-ui && npm install && cd ..

# Build the extension
npm run build

# Package as VSIX
npm run package

Usage

  1. Open a Git repository in VS Code
  2. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  3. Run "Cherry Pick: Open Interactive View"
  4. Select your source and target branches
  5. Search and select the commits you want to cherry-pick
  6. Click "Cherry Pick" to apply the selected commits

You can also access the command from the Source Control view title bar.

Development

Project Structure

nighthawk-cherrypick/
├── src/                    # Extension source code (TypeScript)
│   ├── extension.ts        # Entry point
│   ├── commands/           # Command registration
│   ├── git/                # Git service layer
│   └── webview/            # Webview panel management
├── webview-ui/             # React frontend
│   ├── src/
│   │   ├── components/     # React components
│   │   └── hooks/          # Custom React hooks
│   └── vite.config.ts      # Vite configuration
├── dist/                   # Compiled extension (generated)
└── webpack.config.js       # Webpack configuration

Scripts

Command Description
npm run build Build both extension and webview
npm run build:extension Build extension only
npm run build:webview Build webview UI only
npm run watch Watch mode for extension development
npm run package Create VSIX package

Running in Development

  1. Open the project in VS Code
  2. Run npm run watch in a terminal
  3. In another terminal, run cd webview-ui && npm run dev
  4. Press F5 to launch the Extension Development Host

License

This project is licensed under the MIT License - see the LICENSE file for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft