git fetch 是从远程仓库下载新分支与数据
git pull 是从远程仓库提取数据并尝试合并到当前分支
总结:git fetch + git merge = git pull
$ git fetch origin branch1 如果远程分支branch1不存在本地,则会将该分支上的数据合并到当前分且不会产生新分支.如果分支存在,则会将该分支上的数据合并到当前分支 有分歧
$ git fetch origin test1:test2 将fetch到的数据拉取到放到新的空的test2分支,test1是本地当前所在的分支
$ git diff test2 查看和test2的区别
$ git merge test2 将test2的内容合并到当前分支
使用远程branch1分支在本地创建branch2(但不会切换到该分支),
如果本地不存在branch2分支, 则会自动创建一个新的branch2分支,
如果本地存在branch2分支, 并且是`fast forward', 则自动合并两个分支, 否则, 会阻止以上操作.
git fetch origin :branch2
等价于: git fetch origin master:branch2
当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针。这个过程叫做fast forward。