我可以做些什么来解决“1提交背后的主人”?

问题描述 投票:12回答:4

推送后我一直在远程存储库中看到此消息:

1在master后面提交。

此合并具有必须在提交之前解决的冲突。

要手动将这些更改合并到TA20footerLast,请运行以下命令:

> git checkout 7c891f50c557

#Note:这将创建一个独立的头!

> git merge remotes / origin / master

git github bitbucket branching-and-merging git-merge-conflict
4个回答
26
投票

我知道这是一个迟到的答案,但它可以帮助其他人。

在开始之前,如果您对命令行感到不舒服,可以使用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 you branch is in sync with local Master branch

如果此分支位于远程存储库上,则必须进行推送

     git push origin branchBehindCommit

10
投票
  1. 克隆你的叉子: git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
  2. 在forked存储库中添加远程原始存储库: cd into/cloned/fork-repo git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git git fetch upstream
  3. 从原始仓库更新fork以跟上他们的更改: git pull upstream master git push

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

-1
投票

使用

git cherry-pick <commit-hash>

所以这将选择你背后的git位置。

© www.soinside.com 2019 - 2024. All rights reserved.