我刚刚开始使用git分支,我昨天创建了一个分支foo
并将其推送到远程。今天我想在家里工作,所以在运行拉动后我输入而不考虑git checkout -b foo
。
我知道我不应该添加-b
选项,因为我收到了一条消息Switched to a new branch 'foo'
并且我昨天写的所有代码都没有出现在我的文件夹中所以我觉得我不小心搞砸了分支名称。
我使用git branch -m foo bar
尝试renaming分支,希望它只处理本地分支并对分支名称进行重复数据删除,但是唉git checkout foo
发出了消息error: pathspec 'foo' did not match any file(s) known to git.
< / p>
如何检索我昨天创建的分支?
答案 0 :(得分:2)
您遇到的问题是您创建的新分支未跟踪您想要的远程分支。
我认为最多&#34;对&#34;纠正这种情况的方法是将分支设置为跟踪预期的远程分支:
git checkout foo
git branch -u origin/foo
执行此操作后,您可以将本地分支移动到远程分支的当前提交
git reset origin/foo
然后,您可以添加和提交任何本地更改。然后像往常一样拉动和推动。
(reset
的替代方法是rebase
上的origin/foo
代替,但我不建议初学者使用