Awesome
Git for Unity
This is a Git client for your Unity Editor, supporting all versions from 2017.x onwards (technically also Unity 5.6, but ymmv). It tries very hard to find and use whatever git you have available on your system, and whatever authentication mechanism you have configured for git on the command line, so you can just use it out of the box.
This is a fork of Git for Unity, which in itself is a fork of GitHub for Unity, which I wrote, so I guess the wheel has turned all the way back around 🤷♀️ 😁
How to Install
Quick install
To install the latest package release, add a new scoped registry in the Package Manager settings, with url https://registry.spoiledcat.com
and scope com.spoiledcat
In the My Registries
section, install the Git for Unity
package
Once installed, make sure the paths to git and git lfs are configured correctly by opening the Git window and going to the Settings tab.
Make sure your username and email are correctly set, too.
Git for Unity comes with a bundled version of git and git lfs (on Windows), which are old but should work. If you have git installed in your system, click on the Find system git
button to use those instead.
What's all this then?
This is a git client for the Unity editor, split into two parts: The API part is a .NET Git Client library, without any dependencies on Unity itself; The UI part is Unity-specific.
The same applies to this project, which is split into two packages - com.spoiledcat.git.api
- the Git client library; and com.spoiledcat.git.ui
- the Git UI for the Unity Editor.
Even though this project is currently a fork, since neither GitHub nor Unity seem very interested in supporting developer tooling, this is probably going to become the main implementation of this - this is why this repository is not a GitHub(tm) fork, but a completely separate repository, inheriting the history of both GitHub for Unity and Git for Unity.
Tracking the latest builds
This repo publishes preview and non-preview packages from the main branch to named branches, one for each package, every time there's a push to the main branch. You can install Git for Unity packages directly from those branches instead, if you want to track the very latest changes.
- Git for Unity latest: https://github.com/spoiledcat/git-for-unity#packages/com.spoiledcat.git/latest
- Git for Unity API latest: https://github.com/spoiledcat/git-for-unity#packages/com.spoiledcat.git.api/latest
- Git for Unity UI latest: https://github.com/spoiledcat/git-for-unity#packages/com.spoiledcat.git.ui/latest
How to Build
This repository is LFS-enabled. To clone it, you should use a git client that supports git LFS 2.x.
Check How to Build for all the build, packaging and versioning details.
Release build
build[.sh|cmd] -r
Release build and package
pack[.sh|cmd] -r -b
Release build and test
test[.sh|cmd] -r -b
Where are the build artifacts?
Packages sources are in build/packages
.
Nuget packages are in build/nuget
.
Packman (npm) packages are in upm-ci~/packages
.
Binaries for each project are in build/bin
for the main projects, build/Samples/bin
for the samples, and build/bin/tests
for the tests.
How to bump the major or minor parts of the version
The version.json
file in the root of the repo controls the version for all packages.
Set the major and/or minor number in it and commit the change so that the next build uses the new version.
The patch part of the version is the height of the commit tree since the last manual change of the version.json
file, so once you commit a change to the major or minor parts, the patch will reset back to 0.
License
Copyright 2020-2024 Andreia Gaita
Copyright 2019 Unity
The MIT license grant is not for Unity Technologies's trademarks, which include the Unity logo designs. Unity Technologies reserves all trademark and copyright rights in and to all Unity Technologies trademarks.
Copyright 2015 - 2018 GitHub, Inc.
The MIT license grant is not for GitHub's trademarks, which include the GitHub logo designs. GitHub reserves all trademark and copyright rights in and to all GitHub trademarks.