There are some things I need to go through with people that you haven't covered, but this could easily be another post.
ssh keys vs username/password and deploy keys for servers - why use them
I go for rebase before merge as all our branches tend to be direct from master - I like to see conflicts resolved outside of master (even a local copy) - branches of branches tend to need better processes than beginners can handle
.gitignore - I let my team use whatever IDE they want, so ensuring their IDE specific files and also data specific files aren't checked in is critical - having a tensorflow checkpoint >100MB in your commit history is very painful when you try to push to GitHub ;)
never code directly into master and never force anything
Easily enough for you to do a follow up post :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.