How to Easily Import Projects to GitHub - Professor Bear's Quick Tutorial | Humanitarians AI
Instead of forking a repository or downloading and re-uploading hundreds of files, GitHub's import tool at github.com/new/import copies a full project to your own account in one step.
New volunteers at a nonprofit tech project usually need to do the same first thing before they can safely experiment: get their own copy of the codebase without touching the original. Professor Bear's quick tutorial walks through the fastest way to do that on GitHub, using the organization's own website repository as the example.
Why not just fork it
The natural instinct when you want your own copy of a repository is to hit the fork button. Professor Bear is explicit about why that's the wrong move here: forking keeps the new copy connected to the original repository, which isn't what you want if the goal is to experiment freely on your own version. For a volunteer or fellow who wants to play with a project, whether it's the Humanitarians AI website itself or a new nonprofit site being built through the organization, a real, disconnected copy is the safer starting point. The example used throughout is the Humanitarians AI website, which is built in React and hosted on Vercel.
The problem with downloading and re-uploading
Copying a project by hand, downloading every file and re-uploading it to a new repository, is described as a real pain once a project has hundreds or even thousands of files, which is the case for a full website codebase. That approach is technically possible through the command line too, but it's slow and easy to get wrong for anyone who isn't already comfortable with git. The tutorial's whole point is to skip that manual process entirely.
Using GitHub's import tool
The actual method is GitHub's built-in import tool, reachable directly at github.com/new/import. The process has a few clear steps. First, you give the new repository a name, in this example keeping the same name as the source project, just landing on a different account (in the demo, moving from Professor Bear's personal GitHub to the Humanitarians AI GitHub). Next, you go to the source repository's code page and copy its URL, the same URL you'd use if you were cloning it via the command line. That URL gets pasted into the import tool's source field. Assuming you're already signed in with your GitHub credentials, the import then runs on its own.
How long it takes
Import time scales with the size of the repository. A project the size of the Humanitarians AI website in the demo is estimated to take a minute or two, though the actual run in the video ran a bit longer than expected, plausibly due to a slow connection. For a much larger repository, the same import could take hours. Once it finishes, the new copy looks identical to the original, just living under a different account, in this case the Humanitarians AI GitHub instead of Professor Bear's own.
Connecting the copy to Vercel
For anyone building a site the way Humanitarians AI does, using Vercel, there's one more step after the import finishes: go to Vercel, create a new project there, and map that project to the newly imported GitHub repository. That connection is what lets the hosting platform actually build and serve the copied site, rather than the GitHub copy sitting there as static code with nothing running it.
Key takeaways
- Use GitHub's import tool, at github.com/new/import, to copy an existing repository to your own account rather than downloading and re-uploading files by hand.
- Importing is different from forking: an import creates a fully independent copy, while a fork stays connected to the original repository.
- The process only needs a new repository name and the source repository's URL, the same URL used for a command-line clone.
- Import time depends on repository size, from a couple of minutes for a modest project to potentially hours for a very large one.
- After importing a site's codebase, you still need to create a new project on the hosting platform (Verso, in this example) and map it to the imported repository to actually run it.
Who this is for
This tutorial is aimed squarely at new Humanitarians AI volunteers and fellows who need their own working copy of a project, whether that's the organization's main website or a site being built for another nonprofit through the organization, before contributing changes back to the original. It assumes no deep git command-line experience.
Full transcript(auto-generated, with timestamps)
[0:00]Okay. Uh, Professor Bear here and we're going to do a hopefully a very quick video. Uh, often when we start a project, if you start a project on your own or if you're a volunteer, a fellow at Humanitarians AI, we want you to copy stuff to your own GitHubs to then play with them before you actually play with our GitHub. So, I'm going to show you how to do that. So, we're going to copy the humanitarians website. So this is what the humanitarians website looks like and this is on something called Verso. It's in a system called React and we'll make a bunch of React videos and how this
[0:42]Works. But if you're a volunteer and you want to play on our website or maybe you're doing a website for another nonprofit through us, first thing we want you to do is to copy our website, play with it. And note this is different from a fork. If you fork this thing and then has hit this fork thing, it would still be connected to ours and we don't want that. We want you just to copy it, play with it, but there are hundreds maybe thousands of files here. So that's kind of a pain, you know, to download and upload and yada yada yada. Uh you can do it via the command line, but
[1:17]We're going to show you a super simple way of doing that, and that's through the the GitHub import tool. So you just go to the import pira GitHub new import and what you are going to do is we're going to give it a repository name. So we're actually going to call it the same thing here. Uh but this is going to be this is on my GitHub and we're going to make a copy of it on the humanitarian cadet. So, it's available this thing here. And what we do is we go to code here and we copy this. This is the same thing you would use via the command line if you
[1:58]Wanted to go that route. And then we just paste it in here. And presumably you have your credentials for your GitHub. And there you go. It'll take u my guess is something this size might take a minute or two to copy. If it's much bigger GitHub, it might take hours to uh copy, assuming it's massive. But my guess is this thing will be done pretty quickly. And then when uh it's up on your GitHub, in this case the humanitarian's GitHub, uh it'll be just like this. It'll look exactly like this one here, but it'll be on your GitHub. Again, if you're making a Verso site,
[2:46]Which what we use, you go to Versa, go to your Verso, you would create a new project, and then in your GitHub, you would you would map that repository to the Verso. So, that's it for this. This is taking a little longer than I thought. Maybe my connection's a little slow, but that's it. uh do the like, share, subscribe thing. But again, as a reminder, you're just going to the import tool and we can go back. So, this is going to, you know, send me a message when it's done. Again, right here, just go to this URL. That URL will be in the uh in the um description of the video as
[3:30]Well. Just go there. Uh then again you just go and you go to the repository and you uh go to code and you get this little thing here. Go. And pretty soon you'll have a a copy uh here. See if it's finished yet. So now we have a little still going, but eventually we'll have a we'll have a a copy of it on our own GitHub. and then you can play with it. So that's it. This is Professor Bear again. I'm supposed to say the like, you know, I forget what it is. Like like, ring the bell, subscribe, something like that. Uh, but do that and I'll see you
[4:13]Later.
More videos
2:08Bridging the Pixel Gap in Browser Automation.
2:23How One Narrow Safety Rule Can Make an AI Less Safe Everywhere Else.
2:04Why splitting a chunk from its document makes it retrieve for the wrong question
4:20Three You Can Take Back. One You Can't.
2:21Why a 50-turn agent pays for the same screenshot 35 times unless it caches the pixels
1:53