如何将 Git 的交互式 rebase 与仅限本地的存储库(无远程/源)一起使用?
How do I use Git's interactive rebase with a local-only repository (no remote / origin)?
我使用 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 不希望您在没有上游远程的情况下使用交互式变基?我该怎么做?
git rebase -i
在 shorthand 中,如果不指定目标分支,将使 git 假设您正在尝试根据您的分支跟踪的远程分支进行变基。这就是错误消息提到遥控器的原因。
当您指定一个目标时,git 将根据该 commit-ish:
git rebase -i <commit-ish>
简而言之 - 如果您有 3 个本地提交并且您现在想要交互 rebase/squash/etc 它们:
git rebase -i HEAD~3
(参见 Sébastien 的解释!)
我使用 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 不希望您在没有上游远程的情况下使用交互式变基?我该怎么做?
git rebase -i
在 shorthand 中,如果不指定目标分支,将使 git 假设您正在尝试根据您的分支跟踪的远程分支进行变基。这就是错误消息提到遥控器的原因。
当您指定一个目标时,git 将根据该 commit-ish:
git rebase -i <commit-ish>
简而言之 - 如果您有 3 个本地提交并且您现在想要交互 rebase/squash/etc 它们:
git rebase -i HEAD~3
(参见 Sébastien 的解释!)