git
Resources
git
is an incredible piece of software.
It can, however, also be a bit confusing at times.
Since we borderline require using git
to manage all extension projects, we felt it would be nice to have a helpful page of git
resources.
Warning
It's worth saying: git
and GitHub are two very, very different things.
git
is "distributed version control software". It enables thousands of people from around the globe to collaborate on the same project.- GitHub is a commercial source-code hosting platform built on top of
git
.
Learning
A Grip on git
: How does git
work?
This guide answers that question one step at a time, with great visuals to help you keep your footing.
Learn git
Branching: The puzzle game that makes you good at git
.
Yes, really.
Remembering
There is a tool that makes your console-based life much easier: tldr
.
Example
Forgot how git remote
works?
$ tldr git remote
git remote
Manage set of tracked repositories ("remotes").
More information: https://git-scm.com/docs/git-remote.
- List existing remotes with their names and URLs:
git remote -v
- Show information about a remote:
git remote show {{ remote_name }}
- Add a remote:
git remote add {{ remote_name }} {{ remote_url }}
- Change the URL of a remote (use --add to keep the existing URL):
git remote set-url {{ remote_name }} {{ new_url }}
- Show the URL of a remote:
git remote get-url {{ remote_name }}
- Remove a remote:
git remote remove {{ remote_name }}
- Rename a remote:
git remote rename {{ old_name }} {{ new_name }}
This works for all kinds of commands, but it's particularly nice for git
commands.
Hosting Services
While git
does not require a server, choosing a high-quality hosting service is generally suggested when developing extensions:
-
projects.blender.org
: Run by the Blender Foundation, accessible to everyone.- Ideal For: Keeping your extension close to Blender, on a platform that shares Blender's values.
- Account: You login with your Blender ID, which is free to create.
- See Also: The official
blender.org
Extension Hosting Guide.
-
Codeberg: Community-led, non-profit, EU-based
git
server with all the bells and whistles.- Ideal For: Great features incl. CI/CD compatible with GHA. Run with respect and passion. Insulation against the whims of multinational conglomerates. Like an organic, family-owned farm of software.
- Account: Dedicated account, login with GitHub, or login with GitLab.
-
GitHub: Microsoft-owned de-facto standard.
- Ideal For: For better or worse, most of open source is at least mirrored here.
- Account: Dedicated account.