Git-Truck is a tool that provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good truck factor.
🔒 Private by design
🏝️ Works offline
🤷 Git provider agnostic - works with any git repository
😊 No tracking, no ads, no data mining, no analytics, no cloud, no servers
Important
To use Git Truck, you will need to have the following programs installed:
Check your installed versions using node --version
, npm --version
and git --version
.
Tip
The latests versions of Node and git can be installed from the links above.
Note
npm
is automatically installed along with node
.
- Within a git repository, or a directory containing git repositories, run the command
npx -y git-truck
- The application will now open in your default browser.
Please open an issue here where you describe your problem or feature request. For bug reports, please include git version, Node version, npm version, operating system, and an image of the problem would be great too!
If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.
Run npx git-truck
in the root of a git repository, that you want to visualize:
npx git-truck [args]
arg | description | default value |
---|---|---|
--path |
path to a folder or a git repository | current directory |
--log |
output log level. See here for values | - |
--port |
port to use for the program | 3000 |
--invalidate-cache |
bypass analyzer cache manually | - |
--headless |
run the program without opening the browser | - |
Caution
Using --invalidate-cache
will cause the analyzer to run every time the client talks to the server. This can be very slow if working with large repositories.
You can add a truckconfig.json
file to the root of your project, where you can define the arguments you want.
Additionally you can define which git-aliases should be considered as the same person using unionedAuthors
. If provided, the first name in the array is used as the name of the person.
You can also define files to ignore.
Example:
{
"log": "debug",
"branch": "main",
"unionedAuthors": [
["Bob", "Bobby Bob"],
["Alice", "aliiii", "alice alice"]
],
"hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
"invalidateCache": true
}