我知道这是一个迟到的答案,但它可以帮助其他人.
在开始之前,如果您对命令行感到不舒服,可以使用SourceTree,GitExtension,GitHub Desktop或您喜欢的工具执行以下所有步骤.请按照以下步骤操作:
要解决此问题,您可能有两种方案:
1)仅修复提交后面的远程存储库分支
示例:两个分支都在远程端
一个头===主分公司
后面===开发分支
解:
i)将存储库克隆到本地工作区:这将为您提供Master分支,这是一个提交头
git clone repositoryUrl
ii)在本地创建一个具有开发名称和结账的分支到该分支
git checkout -b DevelopBranchName // this command creates and checkout the branch
iii)从远程开发分支拉出
git pull origin DevelopBranchName
iv)将本地Develop分支与远程开发分支合并
git merge origin develop
v)将合并的分支推送到远程Develop分支
git push origin develop
2)本地主分支位于远程主分支之后
这意味着每个本地创建的分支都落后了.
在此之前,您必须提交或存储您在提交后面的分支上所做的所有更改.
解:
i)检查您当地的主分支机构
git checkout master
ii)从远程主分支中拉出
git pull origin master
现在,您的本地主服务器与远程分支同步,但由于上述命令,其他本地远程服务器与您的本地主服务器分支不同步.解决这个问题:
1)签出本地主分支后面的分支
git checkout BranchNameBehindCommit
2)与当地的Master分支合并
git merge master // Now your branch is in sync with local Master branch
如果此分支位于远程存储库上,则必须进行推送
git push origin branchBehindCommit
克隆你的叉子:
git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
在forked存储库中添加远程原始存储库:
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
从原始仓库更新fork以跟上他们的更改:
git pull upstream master
git push
如果您的分支落后于master,那么请执行以下操作:
git checkout master (you are switching your branch to master)
git pull
git checkout yourBranch (switch back to your branch)
git merge master
合并后,检查是否存在冲突。
如果没有冲突,则:
git push
如果存在冲突,请修复您的文件,然后:
git add yourFile(s) git commit -m 'updating my branch' git push