Version Control Reference#
This reference provides technical specifications for how AI Workbench works with Git.
Overview#
This reference guide cover version control concepts and how AI Workbench works with Git. It covers topics like Git feature support within the Desktop App, interoperability with other Git clients, and Git operation behavior and constraints in the Desktop App.
For conceptual understanding of version control, see Version Control in AI Workbench. For step-by-step procedures, see How to Use Version Control.
Key Concepts#
- Git Affordances:
UI features and automated behaviors AI Workbench adds to Git operations (auto-generated commit messages, visual diff, merge conflict resolution UI).
- Git Client Interoperability:
The ability to use external Git tools (terminal, VS Code, GitKraken, etc.) alongside AI Workbench with standard Git operations.
Git Features Supported in the Desktop App and CLI#
AI Workbench can consume or set your global author information in the Git configuration.
If the git author has already been set, AI Workbench will use it. If it hasn’t been set, you will be prompted to configure it.
This can be done in the Settings page in the Desktop App, or it will happen when you connect an integration to a Git platform.
Most Git operations are NOT available as features in the AI Workbench Desktop App or CLI.
For example, the following do not have corresponding features within the UI:
git rebase- Reapply commits on top of another basegit cherry-pick- Apply specific commits from one branch to anothergit stash- Temporarily save uncommitted changesgit reflog- View reference logsInteractive history editing
Creating branches at specific commits (only current commit supported in UI)
Selective staging (partial commits)
However, AI Workbench does not block you from doing these operations in the terminal or Git clients.
AI Workbench works with the repository as is, so any changes made to it by other means will appear in the Workbench UI and will work fine.
The table below lists the Git operations with features in the AI Workbench UI.
Git Feature |
Description |
Desktop App Feature |
CLI Feature |
|---|---|---|---|
Clone a repository into a new directory |
Clone Project button on main page |
||
Create a commit with current changes |
Commit button on project page |
||
Create and switch to a new branch |
Create Branch in Branches section |
||
git branch |
Delete a branch |
Delete button in Branches section |
|
Discard uncommitted changes |
Discard Changes in Changes section |
||
Fetch changes from remote |
Fetch button |
||
Show commit history |
History section in sidebar |
||
Merge branches |
Merge Branch in Branches section |
||
git push |
Publish project to remote for first time |
Publish button |
|
Pull changes from remote |
Pull button |
||
Push commits to remote |
Push button |
||
Switch to existing branch |
Branch list in Branches section |
AI Workbench Git Implementation#
AI Workbench uses standard Git under the hood with no proprietary extensions.
All Git operations are standard Git commands. AI Workbench reads Git state in real-time to update the UI.
For details on project registration, Git configuration generation, and Git LFS setup, see Git Configuration Reference.
AI Workbench monitors Git status in real-time for file tracking and providing you with file status.
The Changes section shows modified, added, and deleted files
File status is relative to the last commit (HEAD)
Changes are calculated using Git diff under the hood
Status updates automatically when files change
Commit Behavior#
Desktop App Commit Model:
All changes in the working directory are included in commits
No staging area exposed in the UI (all files treated as staged)
Auto-generated commit message lists changed files
Commit message is editable before confirming
Consequence: Cannot make partial commits (selective staging) in the Desktop App.
Solution: Use git add and git commit in the terminal for selective commits.
Branch Operations#
Branch Creation:
Branches created in Desktop App start from the current commit (HEAD)
Cannot create branches at historical commits via UI
Branch Switching:
Requires clean working directory (no uncommitted changes)
AI Workbench validates working directory state before switching
Dirty working directory blocks branch switching
Branch Deletion:
Desktop App requires branch to be fully committed and pushed
Cannot force delete branches with uncommitted changes via UI
Use
git branch -D <branch-name>in terminal to force delete
Merge Conflict Resolution#
AI Workbench provides three resolution strategies:
My Changes: Keep all changes from current branch, discard incoming changes
Their Changes: Accept all incoming changes, discard current branch changes
Edit Manually: Open files in editor to resolve conflicts line-by-line
Conflict Markers:
When editing manually, Git inserts conflict markers:
<<<<<<< HEAD
Content from current branch
=======
Content from incoming branch
>>>>>>> branch-name
Remove markers and edit to desired final state.
Interoperability with External Git Clients#
Git CLI Compatibility#
You can use Git in the terminal alongside AI Workbench without issues.
Commits made in terminal appear in AI Workbench History
Branches created in terminal appear in Branches section
File changes are reflected in Changes section
Push/pull operations from terminal update AI Workbench state
Exception: Do NOT use git clone or git init outside AI Workbench.
Third-Party Git Client Compatibility#
AI Workbench works with external Git clients (VS Code, GitKraken, etc.).
All Git operations are standard Git under the hood
External clients read and write the same .git directory
No lock-in or proprietary Git extensions
Mixed-Mode Operation Considerations#
Most operations work seamlessly between AI Workbench and external clients.
Exceptions where mixing can cause issues:
Rebasing with conflicts: Complete the entire rebase operation in the terminal. AI Workbench may trigger merge resolution flows that will not work correctly.
Interactive operations: AI Workbench cannot participate in interactive Git operations (interactive rebase, interactive add, etc.).
Constraints and Limitations#
UI Constraints#
Operations NOT supported in Desktop App:
Selective staging (partial commits)
Creating branches at specific commits
Rebasing
Cherry-picking
Viewing reflog
Interactive Git operations
Stashing
Use Git in the terminal for these operations.
Merge Resolution Constraints#
My Changes and Their Changes are all-or-nothing strategies
Cannot selectively resolve conflicts file-by-file using these strategies
Use Edit Manually for fine-grained conflict resolution
Branch Switching Constraints#
Requires clean working directory
Cannot switch with uncommitted changes
Commit or discard changes before switching
Automated Commit Messages#
AI Workbench generates commit messages listing changed files.
Example auto-generated message:
Updated files:
- src/preprocessing.py
- notebooks/analysis.ipynb
- data/dataset.csv
Best Practice: Edit the message to describe WHY changes were made, not just WHAT changed.