这两个命令都是合并分支,只不过rebase不记录节点的时间先后顺序,而merge记录,并且rebase的树看起来是单一的直线,更加条理,
git checkout -b side o/main 表示将默认的和远程对应的分支main换成了side分支,即默认和远程合并的时候选用的是side分支,
git pull --rebase 表示将远程分支拉下来,并和本地的进行rebase合并,
git push origin abc 表示将abc分支和远程的合并,默认(即push后面不跟东西)是将本地HEAD指向的地方和远程合并,(好像是这样,)
git push origin foo^:main foo^是本地的要上传的内容,main是远程的分支,这里表示合并本地和远程两个不同的分支,这个参数实际的值是个 refspec,“refspec” 是一个自造的词,意思是 Git 能识别的位置(比如分支 foo
或者 HEAD~1
)
git branch -f main c5 c5是节点名称,这是修改分支节点的指向,