Tool Demo & First Steps
In this lab you will practice version control operations and collaborative model editing.
The goal is to understand branching, merging, conflict resolution, and teamwork using a shared repository.
Prerequisites
Make sure you:
- can open the provided project
- know how to switch branches
- know how to commit changes
- know how to inspect diffs
💡 Tip
Always check which branch you are on before editing files.
1. Practicing Version Control
First, explore the repository and the available views:
- Local changes
- History
- Compare / Diff view
Tasks
- Open the
model.qeaxmodel, inspect it, then close it. - Inspect the differences between the two branches:
- first for
README.txt - then for
model.qeax - On the
masterbranch create a newfeature-2branch ("Start" button), and modify README.txt. - Merge the old feature branch into
master(simulate that another developer merged changes meanwhile). - Checkout the new feature branch, resolve the conflicts, and merge ("Finish" button) to
master.
Expected result
You should be able to:
- see the history of both branches
- understand which commit belongs to which branch
- inspect file differences
2. Modifying the Model
Create a class diagram based on the provided example. Use a fresh feature branch (e.g., class-diagram).
Requirements:
- Modify/Extend the existing model
- The model should contain approximately 15–20 elements
- Choose any topic (preferably something interesting to you)
Examples:
- game objects
- university system
- transport network
- smart home
When you finish, merge your feature branch into master.
Expected result
A valid model that loads without errors and contains multiple connected elements.
3. Merge and Conflict Resolution
Now integrate your changes into the main development line.
Tasks
- Create two new branches, and on each, change the same model element, but to different versions. E.g., rename a class, change a multiplicity, etc.
- Merge one branch into
master - Try to merge the second branch into
master-- this should prompt for conflict resolution. - Resolve all conflicts using LemonTree
- Verify the model opens correctly after the merge
💡 Tip
Save and close the project in Enterprise Architect before committing.
Expected result
- No merge conflicts remain
- All intended changes are preserved
4. Pair Exercise – Collaboration (optional exercise)
Work in pairs.
Tasks
- Create a shared repository
- Upload the model to two different branches
- Each of you modifies the model independently
- Both of you merge the other's changes into your own branch
Final state requirements
At the end of the exercise:
- both versions must contain the same model
- (parts of) both modifications must be present
- no differences remain between branches
Compare the branches — the diff must be empty.
Goal of the Lab
By the end of the exercise you should understand:
- why branches exist
- how merges work
- why conflicts happen
- how collaborative modeling differs from editing text files