Repository (repo)
- Industry term
A repository, or repo, is a project folder under version control, holding the files it tracks plus the history of saved changes, so earlier versions can be compared, shared, or restored.
The history lives in a hidden folder inside the project. Each commit adds a snapshot there, and a clone copies the whole repo, history included, onto another computer. Files named in the project's ignore list stay out of all of it, as secret keys and private data should.
Where you’ll meet it
Your coding agent puts your project on a hosting service so a coworker can help. The coworker clones it, and the app won't start. It's missing the file with your keys to the payment and email services, which the agent left out of the repo on purpose.
What to do
Keep it that way. Send the keys through a password manager's sharing feature, or have the coworker make their own. Then ask the agent to add a note to the project listing every setting a fresh copy needs, without the values.
Easy to mix up
| Repository (repo) | GitHub |
|---|---|
| A project folder, fully copied on each computer that has it | A company's website that stores repos online and helps teams share them |
Check yourself
You commit a fix on your laptop and close it for the night. In the morning it won't start, and a coworker clones the project from the hosting service. Does their copy have the fix?
Go deeperA key committed by mistake has to be replaced
Deleting the key's file adds a new commit, and every earlier snapshot still holds the key, in every clone already made. Rewriting the history can clear it from your copy and the host, but anyone who cloned before still has it, so the safe fix is a new key from the service that issued it.
Hosting services such as GitHub scan pushed commits for text shaped like known key formats. GitHub can block such a push, and when a key lands in a public repo it alerts the company that issued it, which may cancel the key. A scan looks for the formats it was built to find, so a password or a homemade token can get through.