New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

ggcp

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ggcp

glob-aware two-way copying for git

latest
Source
npmnpm
Version
1.11.0
Version published
Maintainers
1
Created
Source

ggcp

git-glob-copy — glob-aware two-way copying for git

Release Maintainability Test Coverage

Requirements

  • Node.js >= 16

Install

npm i git-glob-cp

# or as a global package
npm i -g ggcp

Usage

To perform various repos automations: bulk config reading, cascade template updating, etc.

CLI

# Copy `json` files from `master` branch of remote repo to local dir `temp`
git-glob-copy git@github.com:antongolub/tsc-esm-fix.git/master/*.json temp


# Push `json` files from local `.` dir to remote `json` branch
git-glob-copy *.json git@github.com:antongolub/tsc-esm-fix.git/master/json


# Push from repo to repo
ggcp 'git@github.com:antongolub/tsc-esm-fix.git/master/foo/*.txt' git@github.com:antongolub/git-glob-copy.git/master/bar


# Fetch remote archive to local dir
ggcp 'https://registry.npmjs.org/ggcp/-/ggcp-1.5.1.tgz/**/*.js' /private/tmp/ggcp-1.5.1/

ggcp is an alias for git-glob-copy

FlagDescriptionDefault
--message -mCommit messagechore: sync
--version -vPrint version
--help -hShow help
--ignore-files -iPath to ignoreFile (like .gitignore or .npmignore)
--cwd -CWorking directoryprocess.cwd()

Pattern examples

// Absolute dir path
'/foo/bar'

// Rel paths
'./foo/bar'
'foo/bar'

// Any depth md-filter
'./**/*.md'

// git://, git@, ssh://, https:// refs
'https://github.com/antongolub/tsc-esm-fix.git/master/*.json'
'ssh://github.com/antongolub/git-glob-cp.git/test/test'
'git@github.com:antongolub/git-glob-cp.git/master/foo/bar/**/*.js'
'git://github.com/antongolub/git-glob-cp.git/some-branch-name/test/**/*.js'
// repo ref                                 // branch        // glob pattern

'https://registry.npmjs.org/ggcp/-/ggcp-1.5.1.tgz/**/*.js'
// archive ref                                   // glob pattern

JS API

import { copy } from 'ggcp'

const from = 'git@github.com:antongolub/tsc-esm-fix.git/master/*.json'
const to = 'temp'
const msg = 'updated'
const ignoreFiles = '.gitignore'

// Copy any to any
await copy(from, to, msg, ignoreFiles)
await copy({from, to, msg, ignoreFiles}) // opts-based syntax

GitHub Actions

For example, push lcov.info from the coverage dir into the /<commit-sha> dir of the coverage branch of the remote repo.

  - name: Store coverage
    run: |
      npm_config_yes=true npx ggcp lcov.info https://${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}.git/coverage/${{ github.sha }} --cwd=${{ github.workspace }}/coverage --message='chore: push coverage'

References

License

MIT

Keywords

git

FAQs

Package last updated on 19 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts