Updating paths is incompatible with switching branchesforcing
You can use the configuration variable "push.default" to change this. Given the bad track record of Git documentation it wouldn’t surprise me if you didn’t get what this chunk of text is trying to say at all.
If you are an old-timer who wants to keep using the "matching" semantics, you can set the variable to "matching", for example. Personally I find it much easier to read the code to figure out what is happening. When you type ‘git push’ (without any arguments), Git uses the configuration ‘push.default’ in order to find out ‘, which means push all the matching branches, so if you have a local ‘master’, and there’s a remote ‘master’, ‘master’ is pushed; if you have a local and remote ‘fix-1’, ‘fix-1’ is pushed, if you have a local ‘ext-feature-1’, but there’s no matching remote branch, it’s not pushed, and so on.
(or git add -u .) With the current Git version, the command is restricted to the current directory."git add " is the same as "git add -A " now, so that "git add dir/" will notice paths you removed from the directory and record the removal.
In older versions of Git, "git add " used to ignore removals.
Sure, Git v2.0.0 received a good dosage of new features and bug-fixes, but so did v1.9.0, and all the versions before.The ‘simple’ configuration pushes a single branch instead, and it uses your configured upstream branch (see this post for a full explanation of the upstream branch), so if your current branch is ‘master’, and if ‘origin/master’ is the upstream of your ‘master’ branch, ‘git push’ will basically be the same as ‘‘ (the upstream branch can have a different name).Note: If you are not familiar with the src:dst syntax; you can push a local branch ‘src’ and have the ‘dst’ name on the server, so you don’t need to rename a local branch, you can do ‘git push origin foobar:feature-a’, and your local branch “foobar” will be named “feature-a” on the server. However, if the current branch is ‘fix-1’ and the upstream is ‘origin/master’, ‘git push’ will complain that the name of the destination branch is not the same, because it doesn’t know if to do ‘‘ (‘fix-1’ being the name of the current branch). But perhaps the name is OK, because you can expect it to “simply work”.Git v2.0.0 is a backward-incompatible release, which means you should expect differences since the v1.x series.Unless you’ve been following closely the Git mailing list, you probably don’t know the history behind the v2.0 release, which started long time ago (more than three years).