{"id":20382059,"url":"https://github.com/joeloftusdev/get-gitlab-contribution-history","last_synced_at":"2025-09-23T21:32:21.318Z","repository":{"id":222865727,"uuid":"758585211","full_name":"joeloftusdev/get-gitlab-contribution-history","owner":"joeloftusdev","description":"Import your Gitlab contribution history into Github with a Python script","archived":false,"fork":false,"pushed_at":"2024-02-21T15:00:40.000Z","size":13,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-15T02:16:13.740Z","etag":null,"topics":["commit-history","gitlab","gitlab-migrated","python","script"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joeloftusdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-02-16T16:27:39.000Z","updated_at":"2024-10-31T07:26:37.000Z","dependencies_parsed_at":"2024-02-16T19:49:58.695Z","dependency_job_id":null,"html_url":"https://github.com/joeloftusdev/get-gitlab-contribution-history","commit_stats":null,"previous_names":["joeloftusdev/get-gitlab-commits","joeloftusdev/get-gitlab-contribution-history"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeloftusdev%2Fget-gitlab-contribution-history","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeloftusdev%2Fget-gitlab-contribution-history/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeloftusdev%2Fget-gitlab-contribution-history/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeloftusdev%2Fget-gitlab-contribution-history/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joeloftusdev","download_url":"https://codeload.github.com/joeloftusdev/get-gitlab-contribution-history/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234004690,"owners_count":18764495,"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":["commit-history","gitlab","gitlab-migrated","python","script"],"created_at":"2024-11-15T02:16:17.035Z","updated_at":"2025-09-23T21:32:15.985Z","avatar_url":"https://github.com/joeloftusdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab to GitHub Contribution History Transfer Script\n\nThis script transfers the commit history from a GitLab repository to Github. It performs the following tasks:\n\n1. Clones the GitLab repository locally.\n2. Removes files from the Git history with specified extensions such as Images and gifs to speed up the process.\n3. Adds a remote pointing to the GitHub repository.\n4. Pushes the filtered commit history to a new branch on the GitHub repository.\n5. Merges the new branch into the existing GitHub repository.\n\n## Usage\n\n### Prerequisites\n\n- Python installed.\n- Both GitLab and GitHub repositories accessible with the appropriate permissions.\n\n### Running the Script\n\n1. Clone this repository to your local machine:\n\n    ```bash\n    git clone \u003crepository-url\u003e\n    ```\n\n2. Navigate to the directory containing the script:\n\n    ```bash\n    cd \u003crepository-directory\u003e\n    ```\n\n3. Run the script `gl2gh.py` with the following command, provide the URLs of the GitLab and GitHub repositories as arguments:\n\n    ```bash\n    python gl2gh.py \u003cgitlab_repo_url\u003e \u003cgithub_repo_url\u003e\n    ```\n\n    Replace `\u003cgitlab_repo_url\u003e` with the URL of the GitLab repository and `\u003cgithub_repo_url\u003e` with the URL of the GitHub repository.\n\n\n\n### Note\n\n- Ensure that you have the necessary permissions to clone, push, and merge branches in both the GitLab and GitHub repositories.\n- Review the `SKIP_EXTENSIONS` list in the script to verify that it matches the file extensions you want to exclude from the transfer.\n\n\n## Your History after!\n![after](https://github.com/joeloftusdev/get-gitlab-commits/assets/152509645/23c05bb4-0efd-46a6-8139-63bc7466e94b)\n\n\n\n## License\n\nThis script is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoeloftusdev%2Fget-gitlab-contribution-history","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoeloftusdev%2Fget-gitlab-contribution-history","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoeloftusdev%2Fget-gitlab-contribution-history/lists"}