Transfer git repositories from GitLab to GitHub - can we, how to and pitfalls (if any)?

后端 未结 6 1611
生来不讨喜
生来不讨喜 2020-12-02 03:32

Can one transfer repositories from GitLab to GitHub if the need be. If so, how exactly can I go about doing the same?

Also, are there any pitfalls in doing so or pre

相关标签:
6条回答
  • 2020-12-02 04:12

    This is very easy by import repository feature Login to github.com,

    Side of profile picture you will find + button click on that then there will be option to import repository. you will find page like this. Your old repository’s clone URL is required which is gitlab repo url in your case. then select Owner and then type name for this repo and click to begin import button.

    0 讨论(0)
  • 2020-12-02 04:16

    For anyone still looking for a simpler method to transfer repos from Gitlab to Github while preserving all history.

    Step 1. Login to github, create a private repo with the exact same name as the repo you would like to transfer.

    Step 2. Under "push an existing repository from the command" copy the link of the new repo, it will look something like this: git@github.com:your-name/name-of-repo.git

    Step 3. Open up your local project and look for the folder '.git' typically this will be a hidden folder. Inside the .git folder open up config

    The config file will contain something like:

    [remote "origin"]

    url = git@github.com:your-name/name-of-repo.git

    fetch = +refs/heads/:refs/remotes/origin/

    Under [remote "origin"], change the url to the one that you copied on github

    Step 4. Open your project folder in the terminal and run: git push --all This will push your code to github as well as all the commit history.

    Step 5. To make sure everything is working as expected, make changes, commit, push and new commits should appear on the newly created github repo.

    Step 6. As a last step, you can now archive your gitlab repo or set it to read only.

    0 讨论(0)
  • 2020-12-02 04:17

    You can transfer those (simply by adding a remote to a GitHub repo and by pushing them)

    • create an empty repo on GitHub
    • git remote add github https://yourLogin@github.com/yourLogin/yourRepoName.git
    • git push --mirror github

    The history will be the same.

    But you will loose the access control (teams defined in GitLab with specific access rights on your repo)

    If you facing any issue with the https URL of the GitHub repo:

    The requested URL returned an error: 403
    

    All you need to do is to enter your GitHub password, but the OP suggests:

    Then you might need to push it the ssh way. You can read more on how to do it here.

    See "Pushing to Git returning Error Code 403 fatal: HTTP request failed".

    0 讨论(0)
  • 2020-12-02 04:20

    I had the opposite problem and finally had to create my own bash shell script for the company to migrate the hundred of repos from Github to Gitlab due to a change in the company policy.
    The script use the Gitlab API to remotely create a repo, and push the Github repo into it. There is no README.md file yet, but the sh is well documented.
    The same thing can be done opposite way I imagine. Hope this could help.
    https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh

    0 讨论(0)
  • 2020-12-02 04:25

    If you want to migrate the repo including the wiki and all issues and milestones, you can use node-gitlab-2-github and GitLab to GitHub migration

    0 讨论(0)
  • 2020-12-02 04:32

    If you have MFA enabled on GitLab you should go to Repository Settings/Repository ->Deploy Keys and create one, then use it as login while importing repo on GitHub

    0 讨论(0)
提交回复
热议问题