GIT:将拉取请求中的文件恢复到其最新的主分支以解决冲突

时间:2016-07-26 06:07:45

标签: git

我做了一个pull请求,将我的分支XML_PUSH合并到主分支中,并带有以下文件:

1.xml
2.xml
3.xml

在PR完成之前,其中一些人在主分支中合并了3.xml并进行了这些更改。所以它有冲突,我无法合并2和3 xml。

现在我想做的就是从PR中删除master分支而不关闭它(因为那里已经有很多评论评论)。

我尝试了几个命令但无法完成此操作。 请提供一些指导。

3 个答案:

答案 0 :(得分:1)

  

现在我想做的就是从PR中删除主分支而不关闭它

只需在原始repo master分支的顶部重新设置PR分支:确保您有一个名为&{39; upstream'引用所说的原始仓库(即你已经分叉的仓库,远程' origin'指向你的叉子)

git remote -v
# if upstream is missing:
git remote add upstream /url/to/original/repo

git fetch upstream
git checkout my_pr_branch
git rebase upstream/master

那应该给你冲突(用git状态检查)

通过编辑文件并删除合并标记来解决这些冲突 请参阅" Resolving a merge conflict from the command line"。

然后:

git add .
git rebase --continue

一旦rebase完成后,强制推送你的PR分支,同样的PR将以新的历史记录提交。

git push --force

答案 1 :(得分:0)

以下是我要解决的问题:

git checkout destination-branch-name 
git pull origin destination-branch-name
git checkout source-branch-name
git merge destination-branch-name

预期输出将如下:

  

计算机:space-repository dstevens $ git merge development自动合并

     

contributors.txt CONFLICT(内容):合并

中的冲突      

contributors.txt自动合并失败;修复冲突然后提交

     

结果。

文件将在默认文本编辑器中打开(在我的情况下是DOS envt编辑器)并解决冲突。 Head和Development将有以下部分:

> <<<<<<<<<< HEAD Head text
> ==============
> >>>>>> DEVELOPMENT Conflicting Development Text

通过执行以下操作解决冲突:

更正内容。 删除Git(1,2和3)添加的更改名称。 保存文件。 添加并提交更改

git add filename.txt
git commit -m'commit message'

将更改推送到遥控器。

git push origin source-branch-name

在浏览器中刷新Pull Request并观察更改

答案 2 :(得分:-1)

最简单的方法是使用git checkout。

在你的情况下git checkout origin / master