Merging
Bringing another branch into this one, as a merge or as a squash.
Merging brings the commits from another branch into the one you are on. Innesta does three kinds, and which is right is a question about the history you want, not about which is safer.
Regular merge
Both lines of development are kept, joined by a merge commit with two parents.
Innesta passes --no-ff, so there is a merge commit even where the branch could
have been fast-forwarded, and the graph shows
what actually happened: work proceeded in parallel and then came together.
Selecting the merge commit in the history shows what it brought in.
Squash merge
Every commit from the other branch is flattened into one commit on this branch. The other branch’s individual commits do not appear in this history at all.
Useful when a branch’s history is a record of how you got there — twelve commits of “wip”, “fix”, “actually fix” — and only the result is worth keeping.
Rebase
Not a merge at all, but the third answer to the same question. See rebasing.
The default
The Use Default action in the branch menu applies whichever strategy you have set in App Settings, so a repository with a house style does not need the decision made again every time.
Signing
A merge you start from Innesta uses the Sign commit toggle as it stands. Continue, after resolving a conflict, uses it as it stands then too. See committing.
If it conflicts
Git stops and marks the files it could not settle. Innesta marks them in the working copy, and the three-pane editor is where you resolve them. Nothing is lost while a merge is in progress and it can be abandoned.