{"id":13447259,"url":"https://github.com/pfrankov/git-copy-history","last_synced_at":"2025-09-18T04:31:19.055Z","repository":{"id":47994135,"uuid":"196470216","full_name":"pfrankov/git-copy-history","owner":"pfrankov","description":"Copy commit history from another repository","archived":false,"fork":false,"pushed_at":"2021-08-11T05:56:59.000Z","size":36,"stargazers_count":163,"open_issues_count":4,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-10T16:46:48.699Z","etag":null,"topics":["bitbucket","cli","git","github","gitlab"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfrankov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-11T22:00:07.000Z","updated_at":"2024-12-29T09:21:34.000Z","dependencies_parsed_at":"2022-08-12T16:10:34.961Z","dependency_job_id":null,"html_url":"https://github.com/pfrankov/git-copy-history","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfrankov%2Fgit-copy-history","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfrankov%2Fgit-copy-history/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfrankov%2Fgit-copy-history/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfrankov%2Fgit-copy-history/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfrankov","download_url":"https://codeload.github.com/pfrankov/git-copy-history/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233446346,"owners_count":18677488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitbucket","cli","git","github","gitlab"],"created_at":"2024-07-31T05:01:12.257Z","updated_at":"2025-09-18T04:31:13.762Z","avatar_url":"https://github.com/pfrankov.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Git Copy History\n\n[![npm version](https://badge.fury.io/js/git-copy-history.svg)](https://www.npmjs.com/package/git-copy-history)\n\nAnd only the history\n\n![](https://user-images.githubusercontent.com/584632/61998650-da56b800-b0bb-11e9-8b23-3bb9f4959e96.gif)\n\n### Copy your commit history from\n\n- \u003cimg width=\"90\" src=\"https://user-images.githubusercontent.com/584632/61998916-8948c300-b0bf-11e9-9888-c56d5d248a62.png\"/\u003e\n- \u003cimg width=\"120\" src=\"https://user-images.githubusercontent.com/584632/61998918-8b128680-b0bf-11e9-8839-cd8611c62ed9.png\"/\u003e\n- Or any other local Git repository\n\n## How it works\n\nExample: your repo is not on GitHub so for others it looks like you've just stopped coding at all.\n\n- This CLI takes all of YOUR commits from your local repo\n- It commits only **hashes from hashes** for exact same timestamps to another repo\n- This another repository has no private information inside but it has perfectly timed commit history\n- It can be shared on GitHub without any restrictions\n- You can even make the repository with history private - and commit history still will be visible (see the last section below)\n\n## Installation\n\n```bash\nnpm install -g git-copy-history\n```\n\n## Usage\n\n```bash\n# Create new repo\nmkdir just-history\ncd just-history\ngit init\n\n# Point git-copy-history to the source repo\n# git-copy-history from \u003csource\u003e [options]\ngit-copy-history from ../local-repo\n```\n\nCreate private [repository on GitHub](https://github.com/new).\nFollow the instructions for existing repositories.\n\n- Add origin to your new repository\n- Push the history to the remote repository\n\n### Options\n\n| Option     | Description                                                                                                                       |\n| ---------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| `--author` | Option used to setup author name or author email. This option can be used multiple times.                                         |\n| `--secret` | Option used to setup secret key to hashing algorithm that creates hashes from repo hashes.\u003cbr /\u003e **Every time must be the same.** |\n\n## Update history\n\nJust run `git-copy-history` again and it will add only the new commits.\n\n```bash\ngit-copy-history from ../local-repo\ngit push\n```\n\n## Update your profile settings\n\nIf you have private repository and did not check this box: go to your [Profile Settings page](https://github.com/settings/profile) and check the box:\n\n\u003cimg src=\"https://user-images.githubusercontent.com/584632/62839812-e4221300-bc98-11e9-8455-59d346d84357.gif\" width=\"741\"/\u003e\n\n## Feedback\n\u003cimg src=\"https://user-images.githubusercontent.com/584632/75614641-ea4fe200-5b4b-11ea-950f-096540003db1.jpg\" width=\"335\"/\u003e\n\n\u003e Please help me to improve this Readme file by sending PR\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfrankov%2Fgit-copy-history","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfrankov%2Fgit-copy-history","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfrankov%2Fgit-copy-history/lists"}