I am having a hard time understanding the nuances of git-fetch. I understand that doing a fetch, fetches the remote refs into a local tracking branch.
I
Note also that, with Git 2.5+ (Q2 2015), git merge FETCH_HEAD can merge multiple git fetch's.
See commit d45366e by Junio C Hamano (gitster), 26 Mar 2015.
(Merged by Junio C Hamano -- gitster -- in commit bcd1ecd, 19 May 2015)
"
git merge FETCH_HEAD" learned that the previous "git fetch" could be to create an Octopus merge, i.e. recording multiple branches that are not marked as "not-for-merge";
this allows us to lose an old style invocation "git merge" in the implementation of "HEAD $commits... git pull" script; the old style syntax can now be deprecated.
The git merge doc now mention:
When
FETCH_HEAD(and no other commit) is specified, the branches recorded in the.git/FETCH_HEADfile by the previous invocation ofgit fetchfor merging are merged to the current branch.
Git 2.13 (Q2 2017) officially retires the old syntax for git merge.
See commit b439165 (26 Mar 2015) by Junio C Hamano (gitster).
(Merged by Junio C Hamano -- gitster -- in commit 1fdbfc4, 30 Mar 2017)
merge: drop 'git merge' syntaxHEAD Stop supporting "
git merge" syntax that has been deprecated since October 2007, and issues a deprecation warning message since v2.5.0.HEAD
That means the warning message old-style "'git merge " is no more.