Overview
Git-based Projects store code at your Git provider. Git workflows (branch, commit, push, pull) work natively in your Workspace, and you keep your provider’s collaboration features: pull requests, branch protection, CI. Choose them if you have at least beginner Git proficiency, experience with hosted version control like GitHub or Bitbucket, or several collaborators on a Project. If Git is unfamiliar, consider a DFS Project instead.Domino does not support Git Large File Storage (LFS). Before using a private repository, add Git credentials to your Domino account; public repositories don’t need credentials.
How it works
A Git-based Project separates its assets into Code, Data, and Artifacts, each with its own section in the Project navigation pane:- Code lists the Git repositories that hold your Project code and any imported repositories. You can browse folders, select any branch, and see the last 10 commits directly from the Code section (large repositories can take up to 30 seconds to load initially). The default working directory is
/mnt/code. - Data lists the Project’s Domino Datasets, external data volumes, and Dataset scratch spaces.
- Artifacts holds results like plots, charts, and serialized models. Artifacts live in the Domino File System (DFS), not in your Git repository.
Change branches
Select a branch from the menu in your Workspace. The menu lists up to 10 local branches followed by remote branches, alphabetically; search to find more. Branches deleted at the provider keep appearing in the menu until you sync or pull your latest changes.Pull changes
When you pull the latest changes from the remote, Domino fetches the remote branch’s content (git fetch), then applies your changes on top (git rebase). If files conflict, resolve them manually or choose Use Remote Changes, which discards your Workspace changes and overwrites the files with the remote versions.
Resolve merge conflicts
Merge conflicts happen when two changes touch the same line, when one person edits a file another deleted, or when you push multiple commits. When a sync hits a conflict, the File Conflicts window opens with a guided resolution flow that covers both the main code repository and any imported repositories. Select Resolve Manually to work through the conflicts file by file, with three options per file:- Mark as resolved: you’ve edited the file to remove the conflict markers. The file is listed under Uncommitted changes and pushes to the remote when you click Continue sync.
- Use my changes: overwrites the remote file with your Workspace version. Also listed under Uncommitted changes and pushed on Continue sync.
- Use origin repo changes: discards your Workspace changes and takes the remote file. Nothing is left to commit, but you still must click Continue sync to finish.
Save and pull artifacts
Artifacts sync with the DFS, separately from your Git repository:- To save: in your Workspace, click File Changes, expand File Changes under Artifacts, enter a commit message, and click Sync to Domino.
- To pull the latest artifacts into your Workspace: click File Changes, then click Pull under Artifacts.
Related
- Create Projects: create a Git-based Project and set up credentials.
- Manage Projects: deep and reference copies of Git-based Projects.
- Use Git in your Workspace: day-to-day Git operations during a session.