Git Configuration Reference#

This page documents the technical specifications for how AI Workbench configures and uses Git.

System Requirements#

AI Workbench installs or updates the required dependencies.
  • Git

  • Git LFS

AI Workbench requires a global Git author to be set.
  • If not set, AI Workbench prompts you to set one before allowing any commits.

  • You can manually set project-specific Git authors.

Project Registration#

AI Workbench requires projects to be created or cloned through AI Workbench.

Projects cloned with git clone outside AI Workbench are not registered and cannot be opened. Always use nvwb clone or the Desktop App Clone button.

inventory.json ($HOME/.nvwb/inventory.json) stores project name and path, creation timestamp, and location (local or remote).

Runtime metadata folder ($HOME/.nvwb/project-runtime-info/<project-name>-<hash>/) stores container build artifacts, application state, and temporary files.

Git LFS Configuration#

New projects include LFS tracking for the models/ and data/ directories by default.

AI Workbench adds patterns to .gitattributes and initializes Git LFS when you create or clone a project.

Default .gitattributes Patterns#

models/** filter=lfs diff=lfs merge=lfs -text
data/** filter=lfs diff=lfs merge=lfs -text

Pattern attributes: filter=lfs (content stored in LFS), diff=lfs (LFS-aware diffs), merge=lfs (LFS-aware merges), -text (mark as binary).

Customizing LFS Patterns#

To track additional file types with LFS, edit .gitattributes directly.

# Custom additions
*.h5 filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.zarr/** filter=lfs diff=lfs merge=lfs -text

Existing files require migration: git lfs migrate import --include="*.h5"

LFS for Cloned Projects#

If the remote project uses LFS: AI Workbench respects existing .gitattributes configuration. Git LFS downloads pointer files as needed. No additional setup required.

If the remote project does not use LFS: Large files are handled as normal Git objects. No LFS configuration is applied automatically.

LFS Storage Limits#

Provider

Free LFS Storage

GitHub

1 GB storage, 1 GB bandwidth per month

GitLab

10 GB storage per project

Bitbucket

1 GB storage

Exceeding limits may prevent push operations or incur charges. Check your provider’s current LFS policies before storing large files.

.gitignore#

AI Workbench generates a .gitignore that excludes Workbench metadata and standard development tool artifacts.

Managed entries include:

  • .project/* (with exceptions for !.project/spec.yaml and !.project/configpacks)

  • Standard Python and Jupyter ignores

You can manually edit .gitignore. Changes take effect immediately for untracked files. Already-tracked files remain tracked until explicitly removed with git rm --cached.

Git Hooks#

AI Workbench does not install custom Git hooks. All hooks in .git/hooks/ are standard Git LFS hooks, installed by Git LFS during initialization.

Hook

Purpose

post-checkout

Downloads LFS objects after checking out a branch or commit.

post-commit

Updates LFS tracking information after creating a commit.

post-merge

Downloads LFS objects after merging branches.

pre-push

Uploads LFS objects before pushing to remote.

You can add custom hooks alongside LFS hooks. AI Workbench does not interfere with custom hooks.