git push, when it ask to set upstream and when it and does not
So if you have no upstream set, you get error #1; if you have an upstream set, but it's not one that Git "likes" due to the push.default setting, you get error #2. Of the two ways you're using git checkout -b, one of them creates an upstream setting, and one does not. The actual upstream setting is one that makes push.default complain. Long