首先要知道的是,本地实际上有两个版本库,一个是你本地正在使用的版本库,另一个是远程版本库的副本(默认使用origin作为远程仓库的别名,可以使用 git remote -v
查看)
所以 git fetch
的作用就是同步远程版本库,否则,即使远程版本库修改了,你不主动fetch的话,本地远程版本库的副本还是原来的样子
而本地的远程版本库副本的分支名就是 origin/main
(如果远程分支中有一个分支名为 main
)
所以,对于合并远程代码的操作可以是:
# 更新本地的远程版本库副本
git fetch origin main
# 合并副本中的main分支(此时还是本地的两个版本库进行合并)
git merge origin/main
所以,总的来说,如果是对远程仓库的操作,例如 push pull fetch 等就是用 origin main,如果是对远程仓库分支的操作,例如 merge rebase 等就是用 origin/main