繁体   English   中英

Git checkout 远程分支在本地删除

[英]Git checkout remote branch deleted locally

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

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

因此,向我呈现了一个空白分支,而不是克隆的远程分支。

所以我使用以下方法删除了本地创建的分支:

git branch -d mybranch

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

git checkout --track origin/mybranch
git pull origin origin/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. 将我的 project/.git/config 文件的内容替换为同一文件的内容。
  3. 结帐 myBranch。 作品!

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

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

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在这个例子中开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM