电脑工场
白蓝主题五 · 清爽阅读
首页  > 软件入门

Git里拉取origin/main更新,几步就搞定

你在本地改完代码,想把远程仓库最新的改动同步到自己电脑上,最常遇到的就是这句命令:ref="/tag/2021/" style="color:#479099;font-weight:bold;">git pull origin/main——但直接敲这个会报错。别急,这不是你手误,是 Git 本身不认这种写法。

先搞清两个概念

origin 是你克隆仓库时自动生成的远程别名,一般指向 GitHub、GitLab 上的那个地址;main 是分支名,现在大多数新仓库默认主分支叫 main(以前叫 master)。它们之间不是用斜杠 / 连接,而是用冒号 :

正确的命令长这样

想把远程 origin 上的 main 分支最新内容拉到本地当前分支,标准写法是:

git pull origin main

注意:中间是空格,不是斜杠。这条命令其实做了两件事:先 git fetch origin main 把远程更新下载下来,再自动 git merge 合并进你当前所在的分支。

更省事的写法(推荐)

如果你已经在本地 main 分支上工作,且确认它跟踪的是 origin/main,那连远程名和分支名都不用输:

git pull

Git 会自动找到对应关系,直接拉取更新。怎么确认有没有设置好跟踪?运行:

git branch -vv

看到类似 main 1a2b3c4 [origin/main] 修复登录按钮样式 这样的输出,说明已经绑好了。

遇到冲突怎么办?

如果本地也改了同一段代码,git pull 会停住,提示 CONFLICT。这时候别慌,打开冲突文件,你会看到这样的标记:

<<<<< HEAD
console.log('本地改的');
=======
console.log('远程新加的');
>>>>> 789abc0

删掉 <<<<<=======>>>>> 和中间的多余行,只留下你想要的代码,保存后运行:

git add .
git commit -m "解决合并冲突"

就完成了。

小提醒

别一上来就 git pull。建议先 git status 看看有没有没提交的修改;如果有,要么 git commit 掉,要么 git stash 暂存起来,避免合并时糊成一团。