推送后,我在远程存储库中看到了这条消息:
在主人后面犯1次。
此合并存在必须解决的冲突 在它可以提交之前。
要手动将这些更改合并到TA20footerLast中,请运行以下命令:
> git checkout 7c891f50c557
#注意:这会创建一个独立的头部!
> git merge remotes / origin / master
答案 0 :(得分:23)
我知道这是一个迟到的答案,但它可以帮助其他人。
在开始之前,如果您对命令行感到不舒服,可以使用 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分支与远程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 you branch is in sync with local Master branch
如果此分支位于远程存储库中,则必须进行推送
git push origin branchBehindCommit
答案 1 :(得分:9)
克隆叉子:
git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
从分支存储库中的原始存储库添加远程文件:
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
答案 2 :(得分:1)
如果消息是“ n提交到主服务器后面”。
您需要使用master重新建立您的dev分支。 您收到上述消息是因为检出dev分支主服务器后,主服务器 分支得到了新的提交,并且已经向前发展。 您需要将这些新提交提交到您的dev分支。 步骤:
git checkout master
git pull #this will update your local master
git checkout yourDevBranch
git rebase master
答案 3 :(得分:0)
如果您的分支机构落后于母公司,请执行以下操作:
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
答案 4 :(得分:0)
假设当前在您的分支机构myBranch
请执行以下操作:-
git status
如果所有更改都已提交
git pull origin master
如果未提交更改,则
git add .
git commit -m"commit changes"
git pull origin master
检查是否存在冲突,而不是解决并提交更改
git add .
git commit -m"resolved conflicts message"
比推送
git push origin myBranch
答案 5 :(得分:-1)
您可能还必须git rebase origin master
。
答案 6 :(得分:-1)
使用
git cherry-pick <commit-hash>
因此,这将选择您对当前所在git位置的提交。
答案 7 :(得分:-1)
如果分支在master后面,则删除远程分支。然后转到本地分支并运行:
git pull origin master --rebase
然后,再次将分支推到原点:
git push -u origin <branch-name>