我习惯使用git。 我的正常工作流程是:
dev --> test --> master
我喜欢它并且效果很好。
现在,在我正在与其他远程开发人员合作的项目中,我被指示在我们的公共存储库中包含其他人工作的拉取请求。
我收到了一封PR电子邮件,去了github,经过快速检查后点击了合并按钮。然后我去了当地的仓库,做了git pull origin master
,然后出现了新的变化。一切都很好。
但这是抓住了。我最初被要求对受PR影响的一些文件进行更改。我曾在dev
工作过,并推到test
- 但不是master
。
很自然地,master
和test
存在差异。我想我只需在git merge master
之后发出git checkout test
即可将它们排除在外。
对于我(最初)的惊喜,我现在在test
中,两个更改 - 我的同事和我的同事,以及git diff master
内部的test
显示了差异。
我现在明白了 - 我必须首先抛弃我过时的变化。
关注并且必须更新dev
,当前有更改,我现在该如何解决?我可以撤消test
上的合并并从头开始吗?
答案 0 :(得分:2)
我认为最适合您的方法是在新test
上重新master
git checkout test
git rebase master -i
您可以在rebase期间删除过时的提交。
答案 1 :(得分:0)
我采取了手动操作。
在最初的恐慌后平静下来后,我意识到变化很小,只影响了5个文件。
所以我去了那里,将它们从master
复制到/tmp
,签出test
并将其复制回来。
现在,master
和test
之间没有为受影响的目录留下任何差异。呼。