{"id":29416289,"url":"https://github.com/cosmic-infinity/repo-merge","last_synced_at":"2025-07-11T19:02:43.452Z","repository":{"id":298778221,"uuid":"1000980614","full_name":"Cosmic-Infinity/Repo-Merge","owner":"Cosmic-Infinity","description":"A script to easily merge multiple published Git repositories into one.","archived":false,"fork":false,"pushed_at":"2025-06-12T21:16:33.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-12T22:29:52.975Z","etag":null,"topics":["automation","gpg-key","powershell","repository"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","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/Cosmic-Infinity.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-12T16:08:28.000Z","updated_at":"2025-06-12T21:16:36.000Z","dependencies_parsed_at":"2025-06-12T22:29:54.320Z","dependency_job_id":"87eb5dfd-ea8b-4da8-a058-e2812aa615d4","html_url":"https://github.com/Cosmic-Infinity/Repo-Merge","commit_stats":null,"previous_names":["cosmic-infinity/repo-merge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Cosmic-Infinity/Repo-Merge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cosmic-Infinity%2FRepo-Merge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cosmic-Infinity%2FRepo-Merge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cosmic-Infinity%2FRepo-Merge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cosmic-Infinity%2FRepo-Merge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cosmic-Infinity","download_url":"https://codeload.github.com/Cosmic-Infinity/Repo-Merge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cosmic-Infinity%2FRepo-Merge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264878580,"owners_count":23677451,"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":["automation","gpg-key","powershell","repository"],"created_at":"2025-07-11T19:02:42.358Z","updated_at":"2025-07-11T19:02:43.362Z","avatar_url":"https://github.com/Cosmic-Infinity.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Repo-Merge\nA script to easily merge multiple published Git repositories into one. Makes use of git commands and powershell automation.\n\n`Part of the code was generated by AI. Beware while using`\n\n## What you need\n1. Have Git installed and authenticated with your github account.\n2. Have powershell installed Execution policy configured to be able to run `.ps1` scripts. Your can also use this command to *temporarily allow `.ps1` execution* for the current session only.\n   ```powershell\n   Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass\n   ```\n\u003e Optional steps if you have GPG signing enabled and **misconfigured** (I had to break my head over this for a while)\n3. Do you have Gpg4win (or an equivalent for your OS) installed? If not install it.\n4. Do you have a key-pair generated? If not generate it.\\[Use Kleopatra or similar\\] Provide your **public key** to github in [Github Keys](https://github.com/settings/keys)\n5. Launch `git bash` and check if your private key is already present. If your setup is misconfigured (like mine was) this command will give no output\n   ```bash\n    gpg --list-secret-keys --keyid-format=long\n   ```\n6. Now import your private key using this command\n   ```bash\n    gpg --import \"location-of-your-private-key\"\n   ```\n   ![sekret_key_here](https://github.com/user-attachments/assets/e23102ca-4e3a-4fa4-9d42-a9738ddb7bc0)\n   \u003c/br\u003enotice the part `gpg: key ABCD123456789: secret key imported` where the *ABCD123456789* is your key ID\n7. Tell your install of Git to use your secret key using this command\n   ```gitbash\n   git config --global user.signingkey ABCD123456789-your-key-id-here\n   ```\n8. That's it. Your git install now knows your secret key, and your commits will be identified as verified.\n\n## Run the script\n1. Make a destinatiin repository in your GitHub account where you want to merge all the repos to. Add a readme file or anything to initialize the main branch (creating this main branch is strongly recommended)\n2. Note down the name of this destination repo and the source repos you want to merge into this.\n3. Open the `merge_repo.ps1` script and fill in these details in the top few lines.\n\u003e **Note:** You just need the repo names, not the whole link to the repo\n4. Considering you can run powershell scripts, (if not refer to [step 2](#what-you-need)) navigate to the location of the script and run it with\n   ```powershell\n   .\\merge_repos.ps1\n   ```\n5. Press Enter when prompted.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmic-infinity%2Frepo-merge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmic-infinity%2Frepo-merge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmic-infinity%2Frepo-merge/lists"}