Skip to content

๐Ÿ“ Sync your external contributions to GitHub :octocat:

License

Notifications You must be signed in to change notification settings

charpeni/sync-external-contributions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Sync External Contributions npm

header

Utilize git-standup to read all your authored contributions on local repositories and generate a GitHub contribution activity for each commit linked to you.

Privacy Focused: The script respects your NDA and privacy by not copying commit content. Instead, it lists all authored commit SHAs and writes them to a file, ensuring a secure process.

Purpose

This script is designed for situations where your work is not hosted on GitHub. Missing GitHub contributions can misrepresent your activity, especially when working on projects or contracts that use different source control systems.

Note

Should External Contributions Be Included?

The inclusion of external contributions in your GitHub activity is debatable. However, since GitHub allows displaying private contributions, including these can reflect your complete activity.

Usage

First, you'll need a git repository where the contributions will be synced.

Create it where you want it (e.g. ~/external-contributions), run git init inside and push your initial commit with an empty file named COMMITS.

Create your repository on GitHub and add it as origin, origin will be automatically synced after each runs.

To sync every commits that you've done in ~/some-project into ~/external-contributions:

npx sync-external-contributions --source ~/some-project --destination ~/external-contributions
Options

  --source string[]      Source repositories to fetch commits
  --destination string   Destination repository to sync contributions into
  --days number          Specify the number of days back to include
  --folder-depth         Specify the number of subfolders to look for repos in source
  --dry-run              Will execute script without syncing
  --force                Force push to the destination (implicit with reset)
  --reset                Reset the destination repository
  --silent               Will not prompt
  -h, --help

License

sync-external-contributions is MIT Licensed.