Git 结帐远程分支已在本地删除

Git checkout remote branch deleted locally

我在处理项目时在我的一个系统中进行了更改并推送了它。现在我有了一个新系统,所有的 ssh/user 细节都一样,我克隆了那个项目并想通过检查我的分支来继续我未完成的更改。在这里我犯了一个错误:我用 -b 选项结账,即

git checkout -b mybranch
//instead of 
git checkout mybranch

所以我看到了一个空白分支,而不是克隆的远程分支。

所以我删除了本地创建的分支:

git branch -d mybranch

我尝试了以下方法(通过谷歌搜索)但没有成功:

git checkout --track origin/mybranch
git pull origin origin/mybranch

如何拉取并结帐到 mybranch?

如果那里没有工作,让分支看起来像是从远程分支启动的。

# dangerous, that's why i said _if_ there's no work laying around
git reset --hard origin/mybranch # place the local branch where the remote branch is (local branch and worktree content)
git branch --set-upstream origin/mybranch

这应该够好了。

但鉴于您已经删除了本地分支

git checkout mybranch

应该足以让 git 从远程创建本地分支

步骤:

  1. 请同事切换到 myBranch。
  2. 将我的项目/.git/config文件的内容替换为同一个文件的他的内容。
  3. 查看我的分支。有效!

当只有命令没有帮助时,这个技巧对我有用。

一旦在本地删除,您将无法恢复它,但您可以使用以下命令以其他名称重新创建它:

git checkout -b name_of_the_branch origin/name_of_the_branch_on_github

git checkout -b name_of_the_branch 允许你从你所在的那个开始创建一个分支,如果你添加一个参数,新的分支将从这个参数开始 origin/name_of_the_branch_on_github 在这个例子中。