要整合以进行更改(而不是在请求请求的上下文中),要变基吗?

时间:2019-07-12 14:44:16

标签: git rebase

我只能在请求请求的上下文中找到有关重新定级的信息,但是我要执行的操作与请求请求无关。我的情况如下:

我已经对我公司软件的分支进行了一些更改,我们称之为提交x。提交后,我将PR发送到同事的叉子。

然后,我进行了更多更改。我还没有承诺。他们现在在我的工作树上。

结果是,我在commit x中犯了一些错误,而我的同事修复了这些错误,并将更改提交到他的fork中,我们称之为他的commit commit y。因此,他最近的提交是y。

有没有办法对我的fork进行基础调整(或其他操作,如果这不是对rebase的正确使用),以使我最近的提交为y(那么x将是最近的第二次提交),而还保持我的工作树更改?

2 个答案:

答案 0 :(得分:0)

简短的回答是的,有几种方法可以解决此问题。这是我发现最简单的方法:

  1. 从您的分支开始,
git checkout -b [copy-of-working-branch-with-commit-x-and-commit-y]

按原样复制您的分支机构

  1. git checkout [original-working-branch-with-commit-x-and-commit-y]
git reset --hard [remote-branch]

与同事的推送更改(提醒:这将覆盖commit-y!)

  1. 最后可以
git cherry-pick [sha for most recent commit-y-from-copy-branch]

那应该做到!

答案 1 :(得分:0)

隐藏您的更改

git stash

拉动您的同事更改

git pull

重新应用隐藏的更改

git stash pop

万一发生冲突,则不会自动删除存储。解决冲突后,使用

git stash drop

有关隐藏的更多信息,请参见man git-stashStashing and Cleaning