Git vs GitHub: what does "put it on GitHub" mean?
Git is a tool that records changes on your own computer. GitHub is an online service where you upload that record and work on it with others.
한국어English

ON THIS PAGE
- 01Where it starts: the "report_really_final.hwp" problem
- 02Three kinds of version control
- 03Git: a tool that records changes inside your computer
- 04GitHub: an online service where you upload the record and work together
- 05Git vs GitHub at a glance
- 06An example of using them together: editing a website
- 07Things to watch out for when you start
- 08Three common misunderstandings
- 09Summary
- 10References
Based on: the official Git website and the Pro Git book, GitHub's official documentation and blog (posts from 2008, 2018, and 2025), and Microsoft's official announcement (2018). Checked in September 2026.
Git and GitHub have similar names, but they are different things. Git is a free program that keeps a neat record of how your files change, inside your own computer. GitHub is an online service where you put that record on the internet and look at it and change it together with other people. This guide covers, in order, what version control is, what Git and GitHub each do, a table comparing the two at a glance, and what to watch out for when you start, along with common misunderstandings.
Where it starts: the "report_really_final.hwp" problem
When you work on assignments or design projects, file names often get longer and longer: "report_final.hwp," "report_final_edited.hwp," "report_really_final.hwp" (.hwp is the file type of a Korean word processor). It is easy to lose track of which file is the newest, what you changed yesterday, and which file to open to get back to the version from the day before.
Version control solves this problem in an orderly way. Version control is a system that records changes to a file or a set of files over time, so that you can call up a specific version again later.
With version control you can do things like these.
- Roll back one file or the whole project to an earlier state
- Compare what changed over time
- See who changed a part that is causing problems, and when
- Recover files you deleted or broke by mistake
Version control is not just a tool for programmers. It is also useful for graphic and web designers who want to keep every version of an image or layout.
Three kinds of version control
Version control tools differ by where they keep the record. The local kind (for example, RCS), which keeps it on one computer only, is simple but hard to share. The centralized kind (for example, CVS and Subversion), which collects it on one server, is good for working together, but when the server goes down, nobody can work together until it is back.
In the distributed kind that Git belongs to (for example, Git and Mercurial), every participant clones the whole repository with its full history. So each person's copy is itself a full backup, and if the server breaks, it can be restored from anyone's copy.
Git: a tool that records changes inside your computer
Git is a free, open-source, distributed version control system designed to handle everything from small to very large projects quickly and efficiently. Open source here means the program's blueprint (its source code) is public, so anyone can look at it and use it.
Who made it and why
Git was made in 2005 by Linus Torvalds and the Linux development community. The Linux kernel project had been using a commercial tool called BitKeeper, and when free use of that tool ended, they decided to build a new tool themselves. The goals they set were speed, a simple design, the ability to handle many parallel lines of work (branches) at once, a fully distributed structure, and handling large projects efficiently.
Recording everything at once, like a photo
Instead of writing down only "what changed," Git saves a snapshot (a photo) of the whole project every time it records. Files that have not changed are not saved again; Git just points to the copy it saved earlier, which saves space. Recording once like this is called a commit.
Git puts a check number that works like a fingerprint on everything it stores. Just as every person's fingerprint is different, the number changes completely if even one character of the content changes. So you cannot change a file's content without Git knowing. Also, most operations only "add" data, so it is very hard to lose something once it has been committed.
Working without the internet
Almost everything in Git happens inside your own computer. Viewing history, comparing changes, and committing all work even when you are offline.
The three states of a file
In Git, files move between the three states below. It is a lot like sending a parcel.
| State | Meaning | Where it lives | Parcel comparison |
|---|---|---|---|
| Modified | You changed the file but have not recorded it yet | Working folder | Choosing what to send |
| Staged | Marked to go into the next commit | Staging area | The items are packed in the box |
| Committed | Safely saved in the Git database on your computer | .git folder | The label is on and the shipment is confirmed |
Because packing the box is a separate step, you can pick just some of the files you changed and group them into one record.
GitHub: an online service where you upload the record and work together
GitHub's official documentation draws the line like this: Git is a version control system that tracks changes to files, and GitHub is a platform that supports the whole software development process, from planning to deployment and operation. A platform here is a base service that gathers many features in one place so that many people can work on it, and deployment means putting the finished result where real users can use it (for example, a website).
GitHub is built on open-source Git. It stores Git projects in the cloud (servers on the other side of the internet) and adds tools for working together. Keeping other people's files on a server and making them available over the internet is called hosting, and a service that does it is called a host. It is like a building owner renting out space.
Who runs it
GitHub officially launched in April 2008. Microsoft then announced in June 2018 that it would acquire GitHub, and completed the acquisition in October of the same year. At the time, the two companies said GitHub would run independently, but in August 2025 GitHub announced that from then on it would continue its work as part of Microsoft's CoreAI organization. Git is a tool that came from the Linux development community, and GitHub is a service made by a company. They have different roots.
Repositories and visibility
The most basic unit on GitHub is the repository. It is a folder that holds code and files, along with the change history of each file. A repository has a visibility setting that decides who can see it.
| Visibility | Who can see it |
|---|---|
| Public | Everyone on the internet |
| Private | You and the people you give access to. For an organization (company or group) repository, organization members with permission and the organization owners can also see it |
| Internal | Members of an enterprise account on GitHub Enterprise Cloud |
Tools for working together
- Pull request: a proposal that says "please merge my changes into the project." Other people review the changed parts, discuss them, and then merge them.
- Issue: a post that records a task to do or a problem you found, and tracks its progress.
Words that connect your computer and GitHub
In Git, a repository outside your computer is called a remote. A repository you have put on GitHub is a typical remote. You only need to know three commands for moving between the two.
- Upload (
push): sends your commits to the remote. - Download (
fetch): only brings in new content from the remote, without mixing it into your work yet. - Download and merge (
pull): brings it in and merges it with your work right away.
"Please put it on GitHub" usually means: please push the commits you recorded with Git on your computer to a GitHub repository.
Git vs GitHub at a glance
The difference between the two is like the difference between a photo album and a photo-sharing service. Git is a photo album in time order on the bookshelf in your room. Every time you commit, it takes one photo of the whole project and adds it to the album. GitHub is a service that lets you put that album online, so family or coworkers can look at it with you, leave comments, and add new photos. You can flip through the album without the internet, but to share it with people far away, you need the sharing service.
| Item | Git | GitHub |
|---|---|---|
| What it is | A version control program | An online platform that stores Git repositories and provides tools for working together |
| Who made it | Linus Torvalds and the Linux development community, 2005 | The company GitHub, which launched its service in 2008. Acquired by Microsoft in 2018; joining Microsoft's CoreAI organization announced in August 2025 |
| Where it is | Installed on your computer | On the internet (a website) |
| Needs the internet | Not for most tasks | When uploading and downloading |
| Cost | Free and open source | Depends on the service plan (check the official pricing page) |
Both have alternatives. In place of Git you can use other version control tools such as Mercurial or Subversion, and in place of GitHub you can use other Git hosting services or a server you run yourself. Pro Git also introduces GitHub as the largest Git host while noting that there are dozens of options for hosting Git repositories. In other words, GitHub is one of several ways to use Git.
An example of using them together: editing a website
When you run a website, using Git and GitHub together goes like this.
- Edit the site's posts or code on your computer.
- Commit with Git to record the change.
pushthat record to a private GitHub repository.- A deployment service connected to the repository notices the new version and publishes it to the site automatically.
Secrets such as passwords and authentication keys are kept separately so they never go into the repository. This principle is explained in the "Things to watch out for when you start" section below.
Things to watch out for when you start
Keep secret files out with .gitignore
.gitignore is a file where you write the names or patterns of files you do not want Git to record. Log files and build output (files created automatically when you turn a program into a form that can run) are typical examples.
For example, if you keep a secret key in a file called .env, you only need to write this one line in .gitignore.
.env
Then the .env file is left out of what gets recorded when you commit.
Files you already committed: .gitignore only affects files that have not been recorded yet. To ignore a file you already committed, you first have to stop tracking it with the git rm --cached command. Even after you stop tracking it, the file stays in the history of past commits. So if you uploaded a password or token by mistake, the first thing to do is revoke that secret or replace it. Even if the repository is private, it is safer to keep secrets out of the history from the start.
Limits on large files
GitHub is not a backup warehouse that takes any file without limit. The limits are below. MiB here is a computer-style unit of size; 1MiB is about 1.05MB. You can treat it as roughly the same as MB.
| Case | Limit |
|---|---|
| File size Git warns about | Over 50MiB |
| File size GitHub blocks | Over 100MiB |
| File size you can upload through the browser | Up to 25MiB |
| Recommended repository size | Ideally under 1GB; under 5GB is strongly recommended |
If you work with large files such as Blender project files or rendered videos, it is easy to hit these limits. For such files, use Git LFS (Large File Storage, a storage method made for large files), and use GitHub Releases to hand out large program files. The numbers can change, so check the official documentation again before uploading.
Three common misunderstandings
- "Git and GitHub are the same thing. GitHub made Git." Git is a free, open-source tool made by the Linux development community in 2005, and GitHub is a storage and collaboration service built on top of it in 2008.
- "To use Git, you must have a GitHub account and the internet." Git does almost everything on your computer with no account. A remote is optional, and a hosting service other than GitHub, or even another folder on the same computer, can be a remote.
- "If you put it on GitHub, everyone can see it." If you make a private repository, only people who have been given access can see it (for organization repositories, see the table in the "Repositories and visibility" section). If you make it public, anyone can see it, so always check the visibility when you create it.
Summary
- Git: a free tool that records file changes like photos on your computer.
- GitHub: a service that stores that record on the internet and lets you review and work on it with others.
- The two are often used together, but Git works without GitHub.
- When uploading, first check three things: visibility, secret files, and file size limits.
References
- Official Git website (git-scm.com)
- Pro Git, About Version Control
- Pro Git, A Short History of Git
- Pro Git, What is Git?
- Pro Git, Recording Changes to the Repository
- Pro Git, Working with Remotes
- Pro Git, Third Party Hosted Options
- GitHub Docs, About GitHub and Git
- GitHub Docs, About repositories
- GitHub Docs, About pull requests
- GitHub Docs, Ignoring files
- GitHub Docs, Removing sensitive data from a repository
- GitHub Docs, About large files on GitHub
- GitHub official blog, We launched (2008-04-10)
- Microsoft official announcement, Microsoft to acquire GitHub for $7.5 billion (2018-06-04)
- GitHub official blog, GitHub and Microsoft (acquisition completed 2018-10-26)
- GitHub official blog, Auf Wiedersehen, GitHub (2025-08-11)





