How to migrate repositories from GitLab to GitHub - github

One of my team members has migrated the repositories from GitLab to GitHub but it's not migrated properly later my PM assigned me to do that task. It contains some large files. I am not able to push the repo to GitHub. The size of the repo is huge as it's the full codebase for an operating system and the size of the repo is around 3.5GB files. The other repository contains below 1GB how can I migrate the entire repository from GitLab to GitHub?

Visit https://github.com/piceaTech/node-gitlab-2-github
You could use this github file and follow the directions. Worked for me in the past, so it should work properly for you.

Related

How to download and re-upload a repository?

I'm new to using GitHub and most of the resources online are beyond my understanding.
A few years ago I had to commit certain labs and assignments to GitHub, and the repositories were in a "classroom." Forking is disabled on these projects. I don't remember much, other than that we cloned the projects and edited/pushed from Eclipse.
I've long deleted the local copies of the projects I had, and I'm hoping to showcase some of them on my profile. However, even after a few tutorials from GitHub, I don't know how I'm supposed to download the "classroom" repository locally and then re-upload it to GitHub on my own account.
When I download a zip file of a given project, I re-attain a local copy of the project. But when I try to upload it via GitHub desktop, there are issues. I can't upload folders, which is a problem. When I try uploading everything inside the folders, github desktop buffers for ages and doesn't finish the task.
It feels like my question is so basic that I can't find pointers on it, since it's taken for granted that people know how to do this. Any pointers would be hugely appreciated.
You should be able to just fork it from the "classroom" repository again if you're just trying to get the original project. Then you can git clone your forked repo.
If that isn't an option you can git clone the "classroom" to your local machine. And create a new repo on your Github where you want the project to eventually be saved. Then go back to the local project you cloned and push the local copy back to your new repo:
git push --mirror <urlOfYourNewRepo>

why is there a GitHub folder on my computers boot drive?

I use GitHub. I thought the files were stored on the website. so why do I have a GitHub folder on my desktop (it takes up a lot of bootdrive space)? The GitHub folder has subfolders with the names of my repositories
C:\Users\cches\Documents\GitHub
That is choice made by the tool you are using when working with GitHub: you are using GitHub Desktop.
And GitHub Desktop chooses to store its local cloned repos in %USERPROFILE%/Documents/GitHub (as shown in issue 1663)
You should be able to delete those stored repos, clone only the ones you need, and File | Add existing repository in Desktop, as in issue 2851.

How do I handle a large number of files as an input to a build when using VSTS?

To set expectations, I'm new to build tooling. We're currently using a hosted agent but we're open to other options.
We've got a local application that kicks off a build using the VSTS API. The hosted build tasks involve the Get sources step from a GitHub repo to the local file system in VSO. The next step we need to copy over a large number of files (upwards of about 10000 files), building the solution, and running the tests.
The problem is that the cloned GitHub repo is in the file system in Visual Studio Online, and my 10000 input files are on a local machine. That seems like a bit much, especially since we plan on doing CI and may have many builds being kicked off per day.
What is the best way to move the input files into the cloned repo so that we can build it? Should we be using a hosted agent for this? Or is it best to do this on our local system? I've looked in the VSO docs but haven't found an answer there. I'm not sure if I asking the right questions here.
There are some ways to handle the situation, you can follow the way which is closest to your situations.
Option 1. Add the large files to the github repo
If the local files are only related to the code of the github repo, you should add the files into the same repo so that all the required files will be cloned in Get Sources step, then you can build directly without copy files step.
Option 2. Manage the large files in another git repo, and then add the git repo as submodule for the github repo
If the local large files are also used for other code, you can manage the large files in a separate repo, and treat it as submodule for github repo by git submodule add <URL for the separate repo>. And in your VSTS build definition, select Checkout submodules in Get sources step. Then the large files can be used directly when you build the github code.
Option 3. Use private agent on your local machine
If you don’t want add the large files in the github repo or a separate git repo for some reasons, you can use a private agent instead. But the build run time may not improve obviously, because the changed run time is only the different between copying local files to server and copying local files to the same local machine.

Recover code repository in Github?

I recently inherited a project that used to be setup with Github for version control. However, due to lack of communication from the original developer, I'm left with code base that lives on the production. Question I have is if it's possible to recover a code repo in Github given that I have the .git folder that contains all git related files?
If there's an existing .git folder, it's probably an existing git repository. You could just follow the instructions for adding an existing project to Github and get it that way.

Is it possible to manage a github wiki (perhaps with gollum) without a local working directory?

I'd like to build a (ruby) script that interacts with a github wiki.
Gollum seems to want to manage a local working directory.
Is it possible to interact directly with a github wiki?
No. due to the distributed nature of Git, you interact by pushing new commits from a local repo.
Even the latest Octopress blog (using rake command to create new post) is base don the local clone, and a deploy process to GitHub.