Some Git settings are useful to have globally, in your ~/.gitconfig file.

Two of these are your name and email address, which are important and are used in commit-data. Running the following commands in the command line will generate the ~/.gitconfig file:

git config --global user.name "Your Name"
git config --global user.email "your.name@oracle.com"
git config --global credential.helper "cache --timeout=3600"
git config --global pull.ff only
git config --global merge.ff false

Obviously, use your own name

The credential-helper is unimportant if you are using SSH, in which case you should use an ssh-agent. It helps for HTTP access.

pull.ff=only tells Git to never automatically create a merge-commit on your branch if the pull would not result in a fast-forward. This setting makes-sense but is not the default - you asked Git to pull new commits, not to merge!

merge.ff=false is the flipside and is also not the default. Without this setting, unless you specifically tell git merge not to do-so, it will fast-forward a branch-merge if it is ahead-of and not-behind the target-branch. Whilst this saves a commit and creates a linear-history, the fact that the branch was ever merged is lost - it looks like someone just pushed a whole bunch of commits directly to the branch. Without this setting, this will happen if you have merged-up or rebased your branch with current target branch.