结论

查看远程仓库信息

git remote

查看远程仓库详细信息

git remote -v

与远程仓库代码同步

git pull
# git pull = git fetch + git merge

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

git checkout -b branch-name origin/branch-name
git switch -c branch-name origin/branch-name

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

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

推送本地分支到远程仓库

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

正确做法:

git pull origin master --allow-unrelated-histories
git branch --set-upstream-to=origin/master master
git push origin master
文档更新时间: 2019-11-18 14:49   作者:如默