Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git “关于船长的公关”;“混乱”;在我的测试分支上,如何修复它?_Git_Github_Merge_Pull Request - Fatal编程技术网

Git “关于船长的公关”;“混乱”;在我的测试分支上,如何修复它?

Git “关于船长的公关”;“混乱”;在我的测试分支上,如何修复它?,git,github,merge,pull-request,Git,Github,Merge,Pull Request,我习惯使用git。 我的正常工作流程是: dev --> test --> master 我喜欢它,而且效果很好 现在,在我与其他远程开发人员合作的一个项目中,我被指示在我们的公共存储库中包含对其他人工作的请求 我收到一封公关邮件,去了github,在快速检查后点击了合并按钮。然后我去了我的本地回购,做了git拉原始主机,新的变化出现在那里。都很好 但问题是。最初,我被要求对受PR影响的一些文件进行更改。我从事的是dev,并被推到test——但不是master 因此,master和

我习惯使用git。 我的正常工作流程是:

dev --> test --> master
我喜欢它,而且效果很好

现在,在我与其他远程开发人员合作的一个项目中,我被指示在我们的公共存储库中包含对其他人工作的请求

我收到一封公关邮件,去了github,在快速检查后点击了合并按钮。然后我去了我的本地回购,做了
git拉原始主机
,新的变化出现在那里。都很好

但问题是。最初,我被要求对受PR影响的一些文件进行更改。我从事的是
dev
,并被推到
test
——但不是
master

因此,
master
test
自然存在差异。我想我可以通过在
git checkout测试
之后简单地发出
git merge master
来解决这些问题

让我(最初)感到惊讶的是,我现在在
test
中有了两个变化——我的同事和我的同事,而
git diff master
从内部
test
显示了差异

我现在明白了——我必须首先放弃我过时的更改


考虑到当前的变化,并且必须更新
dev
,我现在如何修复它?我可以撤消
test
上的合并并从头开始吗?

我认为最好的方法是在新的
master上重新设置
test
的基础

git checkout test
git rebase master -i

您可以在重基期间删除过时的提交。

我求助于手动执行

在最初的恐慌平静下来后,我意识到这些变化很小,只影响了5个文件

所以我去了那里,把它们从
master
复制到
/tmp
,签出
test
,然后复制回来


现在受影响目录的
master
test
之间没有差异。呸。

谢谢@Igal S,这可能是一个很好的解决方案。但在看到rebase交互式文件提交,看到我有不同的提交,其中一些我需要,一些没有,我感到恐慌哈哈。我求助于手工。。。。