39

我使用 git 作为本地源代码控制系统,主要用于历史记录和差异跟踪。我仍然想使用 rebase 对我将定期进行的 WIP 提交进行修复/压缩。当我尝试这样做时git rebase -i,我得到以下信息:

There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-rebase(1) for details

    git rebase <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> MyBranch

似乎 git 不希望您在没有上游遥控器的情况下使用交互式变基?我怎么做?

4

2 回答 2

39

git rebase -i简而言之,在不指定目标分支的情况下,将使 git 假设您正在尝试针对您的分支跟踪的远程分支进行变基。这就是为什么错误消息提到了有关遥控器的内容。

当您确实指定了目标时,git 将针对该commit-ish 进行变基:

git rebase -i <commit-ish>
于 2015-06-03T16:21:59.707 回答
25

简而言之 - 如果您有 3 个本地提交并且您现在想要以交互方式对它们进行 rebase/squash/etc:

git rebase -i HEAD~3

(见塞巴斯蒂安的解释!)

于 2016-11-24T11:02:23.280 回答