git rebase致命的:需要一个单一的修订
我有一个公共存储库的分支,我试图用原始存储库中的当前提交更新我的分支:
$ git fetch <remote> remote: Counting objects: 24, done. remote: Compressing objects: 100% (20/20), done. remote: Total 20 (delta 12), reused 0 (delta 0) Unpacking objects: 100% (20/20), done. From git://github.com/path_to/repo 9b70165..22127d0 master -> $/master $ git rebase <remote> fatal: Needed a single revision invalid upstream <remote>
<remote>
代替我的远程名称,实际上并不是我的远程名称。 关于这个错误的文档似乎有点松动。
你需要提供一个分支(或其他提交标识符)的名称,而不是远程的名称git rebase
。
例如:
git rebase origin/master
不:
git rebase origin
请注意,尽pipe当需要提交引用时, origin
应该parsing为ref origin/HEAD
,但是并不是每个存储库都会获得这样的引用,所以它可能不会(并且在你的情况下不能)工作。 这是明确的支付。
检查你拼写正确的分行名称 。 我正在重新设置故事分支(即branch_name
),并忘记了故事部分。 (即story/branch_name
),然后git吐在我这个错误,在这方面没有多大意义。
我遇到这个,意识到我没有取得上游之前,试图rebase。 我所需要的只是git fetch upstream
问题是你从一个分支中分支出来,你试图重新分配。 您不能redirect到不包含当前分支最初创build的提交的分支。
当我第一次将一个本地分支X重新命名为Y时,我得到了这个,然后尝试将一个分支(首先在X上创build)分配给被推入的分支Y.
通过重新绑定到X解决了我。
如果我当前的分支源自该分支的祖先,我没有任何问题redirect到远程分支(可能甚至没有检出)。
对于远程origin
:
$ echo "ref: refs/remotes/origin/master" > .git/refs/remotes/origin/HEAD
当我的意思是git bisect
时,我错误地input了git rebase
。 确保你正在使用你期望的命令!