结论

查看远程仓库信息

  1. git remote

查看远程仓库详细信息

  1. git remote -v

与远程仓库代码同步

  1. git pull
  2. # git pull = git fetch + git merge

在本地创建和远程分支对应的分支

  1. git checkout -b branch-name origin/branch-name
  2. git switch -c branch-name origin/branch-name

将本地分支与远程仓库关联

  1. git branch --set-upstream-to <branch-name> origin/<branch-name>

推送本地分支到远程仓库

  1. git push origin <branch-name>

说明

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
  5. 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建。

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

提示

  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;
  • 从远程抓取分支,如果有冲突,要先处理冲突。

问题

本地仓库有文件,远程仓库也有文件,但是这两个仓库文件不一致。这时,将本地仓库与远程仓库关联起来,执行git branch --set-upstream-to <branch-name> origin/<branch-name>,提示错误:error:the requested upstream branch 'origin/master' does not exist"

解决办法 若直接执行git pull会提示:refusing to merge unrelated histories,正确做法:

  1. git pull origin master --allow-unrelated-histories
  2. git branch --set-upstream-to=origin/master master
  3. git push origin master