Pulling upstream changes with Git
We are experimenting with following a workflow where everyone is allowed to work from and commit directly to the dev branch. This comes with a caveat of having your local version of dev frequently becoming out of date with origin/dev (the server's version of dev) as you are working on your local changes. This consequence often leads to a pitfall when pulling changes from origin/dev where contributors end up unnecessarily merging origin/dev into their local dev branch. This creates confusing cruft in the repo that makes it difficult to understand the progression of changes. What actually needs to be done is to simply fast forward or rebase.
There are two changes that will help prevent this issue from occurring.
On Windows, while installing Git there is a prompt in the installer asking "What should `git pull` do by default?". It defaults to Fast-forward or merge, but what we need is Rebase.
If you left it on the default, then you will need to update your Git settings. In either a command prompt or terminal set the pull.rebase option to true with the following command:git config --global pull.rebase true
In SourceGit, with the above Git configuration change, it should default to use the Git configuration. Still, make sure when you are pulling that the checkbox for "Use rebase instead of merge" is checked before pulling.

