BAMOE Canvas streamlines the usage of Git to simplify workflows and guide users through a contribution model that minimizes conflicts and mitigates the complexity of managing a Git repository.

All Git repositories in BAMOE Canvas are stored in-browser and can be synced with a remote Git repository using a simplified set of operations, avoiding the complexities typically encountered when using Git from the Command Line.

BAMOE Canvas automatically saves all changes and persists them on the local disk. It is safe to close browser tabs and turn off the computer, as work will be retained upon return. However, it is recommended to Push work after each development session to ensure changes are securely stored with the Git provider in case of computer issues.

Each card on the Home page represents a separate Git repository and can contain any number of files, nested directories, and file types. BAMOE Canvas is capable of handling large repositories, with internal tests supporting up to 10,000 files. Although large repositories are supported, users are discouraged from creating them, as BAMOE Canvas is optimized for working with microservices deployed to a Cloud environment.

Branches

Users can specify the branch to work with when importing a remote Git repository. For projects created directly on BAMOE Canvas, the default main branch is used. Changing branches of Git repositories on BAMOE Canvas is not possible. To work on two separate branches simultaneously, import the repository again and select a different branch.

Conflict Resolution

Conflicts, although rare when working on a feature branch, can still occur if changes are made externally or if a branch is shared with a peer.

When synchronizing a repository on BAMOE Canvas, a conflict will trigger an alert similar to the following:

Conflict error dialog
Figure 1. Conflict error dialog

BAMOE Canvas does not provide a mechanism for resolving conflicts directly. Instead, it allows users to switch to a new branch temporarily, ignore the conflict, and continue working.

To resolve conflicts externally, users can employ their preferred method and tool, Push the changes, and then return to BAMOE Canvas and Pull. Work can then be resumed from the previous state.