我创建了一个本地分支并推送到服务器:
$ git branch -D feature
如果我删除了这个分支:
$ git pull
Current branch master is up to date.
$ git branch
* master
我如何从远程服务器再次恢复此分支。 我试着用:
enable_testing()
答案 0 :(得分:2)
如果您强行删除了分支(或被要求),您可能会丢失一些提交。 (相反,成功git branch -d <branch>
意味着您拥有的分支已完全合并。)
如果您尚未清除终端,则会看到如下消息:
Deleted branch feature (was <SHA>).
恢复最初来自遥控器的内容很简单......
git checkout feature
以上将自动创建远程跟踪分支。
但是,如果您需要恢复旧分支,因为有未更改的更改,您需要再做一些。
git checkout <SHA>
git checkout -b feature
git branch -u origin/feature
以上将:
origin/feature
答案 1 :(得分:2)
正如GianArb所说,你可以简单地再次检查远程分支,但是,如果你做了你没有推送的本地提交,你就不会让它们恢复。
相反,您可以尝试使用git reflog
找回其哈希值,然后git checkout $1
其中$ 1是您可以找到的潜在最新本地提交哈希,您将处于独立的HEAD状态,因此您之后需要使用git checkout -b new_branch_name
分支到新的分支。
答案 2 :(得分:1)
git checkout -b feature origin/feature
原点是你的遥控器:)