Conceptual difference between git fetch and git merge? Why do they feel same to me? -


so git fetch conceptually means fetching remote branch. git merge mybranch means merging mybranch current branch. not see difference between two? stark conceptual "right in front of eye" difference missing?

git fetch doesn't modify working copy

git fetch will:

download objects , refs repository

it doesn't working copy or local branches - only downloads new commits , updates remote branch references.

git merge modifies working copy

git merge will:

join 2 or more development histories together

i.e. merge current branch history. operates in current repository, doesn't communicate or modify remote repository.

git pull: fetch and merge

ordinarily need fetch commits repository , merge (or rebase) them local branches.

git pull related command. will:

fetch , merge repository or local branch

i.e:

  • download objects remote repository
  • update remote branch references
  • merge remote branch local branch

in 1 command.


Comments