Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Forking Git repository from GitHub to GitLab

People also ask

Can I fork a GitLab repo to GitHub?

Create an empty repository on Github with the same name as the Gitlab repository. Register Github (origin) and Gitlab (upstream) since you cloned the Gitlab repository, its origin is set to the Gitlab repository. This needs to be changed to Github.

Does fork work with GitLab?

You can fork a project in GitLab by going to the project and clicking on the Fork button. This will create a copy of the project in your own namespace. You're allowed to do whatever you want with this copy as it's is your own.

Is forking legal in GitHub?

The TOS states you agree to allow viewing and forking. It doesn't state that you agree to allow redistribution or use. If the terms don't explicitly state that you allow those things, then unless your license allows them they aren't allowed.


If you just want to track changes, first make an empty repository in GitLab (or whatever else you may be using) and clone it to your computer.

Then add the GitHub project as the "upstream" remote with:

git remote add upstream https://github.com/user/repo

Now you can fetch and pull from the upstream should there be any changes. (You can also push or merge to it if you have access rights.)

git pull upstream master

Finally, push back to your own GitLab repository:

git push origin master

If you don't want to manually pull upstream/push origin, GitLab offers a mirroring ability in Settings => Repository => Mirroring repositories.


The browser-only way:

  1. Create a new project in Gitlab (Just an empty project with a name is fine)
  2. Go to Settings -> Respository
  3. Enter GitHub URL under 'Mirroring repositories'
  4. Make sure 'Mirror direction' is 'Pull'
  5. Press 'Mirror repository' button
  6. Press the sync icon next to the entry that appears

Instead of forking, you can import any publicly available GitHub repository using only the web interface:

  1. From your GitLab dashboard click New project
  2. Switch to the Import project tab
  3. Click on the Repo by URL button
  4. Fill in the "Git repository URL" and the remaining project fields
  5. Click Create project to begin the import process
  6. Once complete, you will be redirected to your newly created project

Used this technique recently, and it works on any public repository even without a GitHub account. See this GitLab docs page for the source of info.