在Git中从远程仓库拉取代码,可以使用git fetch和git pull命令。
git fetch 的用法如下:
- git fetch <远程仓库名> 从指定的远程仓库拉取代码到本地仓库。
- git fetch <远程仓库名> <分支名> 拉取指定远程仓库的某个分支代码到本地仓库。
- git fetch –all 拉取所有远程仓库的代码到本地仓库。
例如:
从origin远程仓库拉取代码:
$ git fetch origin
从origin远程仓库拉取dev分支代码:
$ git fetch origin dev
从所有远程仓库拉取代码:
$ git fetch --all
git pull 的用法如下:
git pull 相当于git fetch和git merge,它的作用是从远程获取代码并自动与本地分支合并。
- git pull <远程仓库名> <远程分支名>:<本地分支名> 从远程仓库的指定分支拉取代码并与本地指定分支合并。
- git pull <远程仓库名> <远程分支名> 如果本地分支能够fast-forward,则将直接将本地分支更新为远程分支。否则将进行merge操作。
- git pull == git fetch && git merge 拉取所有远程仓库的代码并与本地分支合并。
例如:
从origin仓库的dev分支拉取代码并与本地master分支合并:
$ git pull origin dev:master
从origin仓库的dev分支拉取代码并与本地同名分支合并:
$ git pull origin dev
等同于:
$ git fetch
$ git merge origin/dev
总之,git fetch与git pull都可以从远程仓库拉取代码,区别在于:
git fetch 仅下载远程代码到本地仓库,需要手动与本地分支合并。
git pull 自动下载远程代码并与本地分支合并。