在 git 拉取请求后,我该如何做 git 变基?
How can i do git rebase after git pull request?
我有一个麻烦git rebase。
因为,我已经将我的本地代码推送到 origin dev。而且,我向 'upstream' 发送了一个拉取请求。
但是,有 1 个 PR 和 7 个提交,如下图所示
我想将 7 次提交压缩为 1 次提交。
我该怎么办?
(我试过:'git rebase -i HEAD~7',但我遇到了 'error: cannot rebase: You have unstaged changes.' 的消息)
根据我的评论,您必须在变基之前提交、存储或放弃所有更改。如果您的更改已完成,您很可能想要提交它们(git add --all
后跟 git commit
)。
如果它们不完整,但您想稍后继续处理它们,请使用 git stash
保存未完成的更改,同时重置为 HEAD。执行你的 rebase,然后使用 git stash pop
.
恢复这些更改
要放弃所有更改,git reset --hard HEAD
就可以了; reset
取消暂存您的更改,--hard
放弃它们,HEAD
指定您要重置的提交。然后你应该可以变基了。
值得注意的是,隐藏或重置不会影响未跟踪的文件。要包含这些文件,您必须首先使用 git add
.
暂存它们
我有一个麻烦git rebase。
因为,我已经将我的本地代码推送到 origin dev。而且,我向 'upstream' 发送了一个拉取请求。
但是,有 1 个 PR 和 7 个提交,如下图所示
我想将 7 次提交压缩为 1 次提交。
我该怎么办?
(我试过:'git rebase -i HEAD~7',但我遇到了 'error: cannot rebase: You have unstaged changes.' 的消息)
根据我的评论,您必须在变基之前提交、存储或放弃所有更改。如果您的更改已完成,您很可能想要提交它们(git add --all
后跟 git commit
)。
如果它们不完整,但您想稍后继续处理它们,请使用 git stash
保存未完成的更改,同时重置为 HEAD。执行你的 rebase,然后使用 git stash pop
.
要放弃所有更改,git reset --hard HEAD
就可以了; reset
取消暂存您的更改,--hard
放弃它们,HEAD
指定您要重置的提交。然后你应该可以变基了。
值得注意的是,隐藏或重置不会影响未跟踪的文件。要包含这些文件,您必须首先使用 git add
.