git rebase –skip是做什么的?

我只是做了一个git pull --rebase origin master ,出现了冲突。

首先,这个冲突是在一个我没有触及的文件中,大约有10个提交。 为什么会这样呢?

然后我意外地input了git rebase --skip ,并且“跳过了这个补丁”。

担心我已经跳过了一个提交,我检查了一个新版本的主分支,并做了分支之间,我做了rebase和新的主分支之间的差异。 diff中显示的唯一更改是最新的提交,查看日志,“跳过”的补丁显示在提交历史logging中。

任何人都可以解释这里发生了什么?

它做它所说的,它跳过一个提交。 如果你在同样的rebase期间在稍后的冲突中运行rebase --abort ,则跳过的commit将会被rebase --abort

如果您的更改已经存在上游,Git将无法应用您的提交(但通常应该自动跳过,如果补丁完全相同)。 你自己的提交将被跳过,但是改变将仍然存在于当前HEAD中,因为它已经被应用在上游。

你应该确保你没有删除你的重要变化;)(使用reflog回到rebase之前的状态)