我只能在请求请求的上下文中找到有关重新定级的信息,但是我要执行的操作与请求请求无关。我的情况如下:
我已经对我公司软件的分支进行了一些更改,我们称之为提交x。提交后,我将PR发送到同事的叉子。
然后,我进行了更多更改。我还没有承诺。他们现在在我的工作树上。
结果是,我在commit x中犯了一些错误,而我的同事修复了这些错误,并将更改提交到他的fork中,我们称之为他的commit commit y。因此,他最近的提交是y。
有没有办法对我的fork进行基础调整(或其他操作,如果这不是对rebase的正确使用),以使我最近的提交为y(那么x将是最近的第二次提交),而还保持我的工作树更改?
答案 0 :(得分:0)
简短的回答是的,有几种方法可以解决此问题。这是我发现最简单的方法:
git checkout -b [copy-of-working-branch-with-commit-x-and-commit-y]
按原样复制您的分支机构
git checkout [original-working-branch-with-commit-x-and-commit-y]
和git reset --hard [remote-branch]
与同事的推送更改(提醒:这将覆盖commit-y!)
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-stash和Stashing and Cleaning。