Git从远程仓库同步最新代码

1. git fetch:获取远程更新,但不合并到本地分支

git fetch 是一种「安全获取更新」的方式,它只会将远程仓库的最新代码下载到本地的「远程跟踪分支」(如 origin/main),但不会自动合并到本地当前分支,便于先查看更新内容再决定是否合并。

基本用法

# 获取所有远程仓库的所有分支更新(默认拉取origin的所有分支)
git fetch

# 仅获取指定远程仓库(如origin)的所有更新
git fetch origin

# 仅获取指定远程仓库的指定分支(如origin的main分支)
git fetch origin main

# 仅获取指定远程仓库的指定分支到本地的指定分支(如origin的main分支跟新到本地的tmp分支)
git fetch origin main:tmp

远程的最新代码会被下载到本地的「远程跟踪分支」(格式为 远程仓库名/分支名,如 origin/main),本地的工作分支(如 main)不会被修改。

查看更新内容

获取后,可通过以下命令对比本地分支与远程跟踪分支的差异后再merge:

# 查看本地main分支与远程origin/main分支的差异
git log main..origin/main  # 显示远程有而本地没有的提交
git diff main origin/main  # 显示具体的代码差异

# 再把远程origin/main分支 merge到本地
git merge origin/main
2. git pull:获取远程更新并自动合并到本地分支

git pull 可以理解为 git fetch + git merge 的组合操作:先执行 git fetch 获取远程更新,再自动将远程跟踪分支的更新合并到本地当前分支。

基本用法

# 拉取当前分支对应的远程分支更新,并合并到当前分支
git pull

# 拉取指定远程仓库(如origin)的指定分支(如main),并合并到本地当前分支
git pull origin main

# 拉取远程分支并合并到本地指定分支(如将origin/dev合并到本地dev分支)
git pull origin dev:dev

注意事项

  • git pull 会自动合并,可能导致「合并冲突」(如果本地分支与远程分支有冲突的修改)。此时需要手动解决冲突后,通过 git add <冲突文件> 和 git commit 完成合并。
  • 建议在执行 git pull 前,先通过 git status 确认本地工作区已提交所有修改(或暂存 git stash),避免冲突难以处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值