所以,在PR的中途,我意识到如果我在另一个分支上分支另一个提交(让我们调用此提交A),这将会容易得多。简而言之,我当前的PR(称为此提交B)依赖于该提交(提交A)。
不幸的是,在提交B时,我做了一次提交。让我们调用此提交B0。如何在我提交提交B0之前签出,以便我有可以存储的非提交文件?简而言之,我想从提交B0中隐藏我的更改,分支提交A,并将我的更改存储到提交A1。我该怎么做?
我还可以挑选吗?
答案 0 :(得分:0)
git reset HEAD~
返回分支指针,指向最后一个提交保留工作树,以便您的文件在git status
中显示为已修改。从那时起,你可以存储它们并继续。
答案 1 :(得分:0)
因此,根据我的理解,您的历史记录如下:
your pull request
↓
A --- B0 --- B
你实际上希望它看起来像这样:
A --- B0
\
\-- B
↑
updated pull request
在这种情况下,您有多种方法可以这样做。一个非常快速的方法是从A
关闭新的分支并挑选你的提交:
git checkout -b new_pr A
git cherry-pick old_pr
然后,您可以将新分支推送到旧分支以更新请求。或者你检查你的旧分支并将其硬重置为新分支。
您还可以使用交互式rebase从历史记录中删除B0
(如果这个好主意取决于您是否仍想将其用于任何事情)。为此,只需运行git rebase -i A
,然后在编辑器中删除B0
。