Origin 的变化

Remote 在本地常常表示为 origin 标签(当然可能还有别的名字),我们通过比较 origin/mainmain 差别,就可以判断本地工作和远端工作的进度对比。我很感兴趣 origin 是什么时候更新的。

其实 origin 只在 git fetchgit push 的时候移动,而在 mergerebase 的时候并不移动。

Upstream 和 PushStream

简单说,就是 upstream 是拉取代码的分支,而 pushstream 是推送代码的分支。

之所以要区分这两个分支,是因为我们在提 pr 的时候,upstream 是原作者的库,而 pushstream 是我们 fork 的库。

将本地已有仓库 Push 到远端

使用如下命令设置一个远端仓库地址:

git remote add origin git@github.com:user/repo.git

如果远端仓库为空,那么只需要将本地分支与远端分支关联起来即可:

git push -u origin main

其中的 -u 参数就是 --set-upstream 的意思。

如果远端仓库不为空,那么就需要先 fetch-merge 一下:

git pull origin main --allow-unrelated-histories
git push origin main