1.git pull:获取最新代码到本地,并自动合并到当前分支
命令展示
//查询当前远程分支 $ git remote -v //直接拉取并合并最新代码 $ git pull origin master [示例1:拉取远端origin/master分支合并到本地当前分支] $ git pull origin dev [示例2:拉取远端origin/dev分支合并到本地当前分支]
分析:不推荐这种方式,因为是直接合并的,无法提前处理冲突。
2.git fetch + merge: 获取最新代码到本地,然后手动合并分支
2.1.额外建立本地分支
代码展示
//查看当前远程的版本 $ git remote -v //获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin master:master1 [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中] $ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中] //查看版本差异 $ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异] $ git diff dev1 [示例2:查看本地dev1分支与当前分支的版本差异] //合并最新分支到本地分支 $ git merge master1 [示例1:合并本地分支master1到当前分支] $ git merge dev1 [示例2:合并本地分支dev1到当前分支] //删除本地临时分支 $ git branch -D master1 [示例1:删除本地分支master1] $ git branch -D dev1 [示例1:删除本地分支dev1]
分析:不推荐这种方式,还需建立额外的分支
2.2.不额外建立本地分支
代码展示
//查询当前远程的版本 $ git remote -v //获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin master [示例1:获取远端的origin/master分支] $ git fetch origin dev [示例2:获取远端的origin/dev分支] //查看版本差异 $ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异] $ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异] //合并最新代码到本地分支 $ git merge origin/master [示例1:合并远端分支origin/master到当前分支] $ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
备注:推荐这种方式