pull
git pull的作用是从远程拉取并合并到本地,是git fetch + git merge的组合
- 先下载远程最新提交到本地的远程跟踪分支
- 再自动和当前分支合并
git pull <远程名> <分支名>
例子
git pull origin main
过程
- 从远程
origin拉取main最新提交到origin/main - 把
origin/main合并到当前分支
常见问题
- 自动合并可能产生冲突,需要手动解决
- 如果想避免自动合并,可以改用
git fetch origin main
git rebase origin/main # 或 merge
常见参数
git pull <remote> <branch>拉取指定远程分支的最新更改并合并
git pull origin main
--rebase拉取时使用rebase而不是merge,将本地提交应用到最新的远程提交后面,而不是创建合并提交
git pull --rebase origin main
--no-rebase禁用默认的rebase,强制使用merge来合并
git pull --no-rebase origin main
--ff-only只允许快进合并(Fast-forwarding merge)。如果有新的合并提交,它会中止操作
git pull --ff-only origin main
verbose显示详细的操作信息
git pull --verbose