首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有该选项的旧版本git上进行Git -unset-upstream?

如何在没有该选项的旧版本git上进行Git -unset-upstream?
EN

Stack Overflow用户
提问于 2017-06-16 18:03:18
回答 1查看 735关注 0票数 0

因此,我们发现自己处于一个远程分支被过早删除的情况下,我们仍然有未完成的提交,我们希望合并和恢复。我最初的想法是在最初的开发人员工作副本中执行以下操作:

代码语言:javascript
复制
> git checkout local-branch
> git branch --unset-upstream
> git push -u origin remote-branch

然而,有问题的开发人员发现这并不起作用,因为他运行的系统安装了一个特别古老的Git版本,而安装一个较新的版本是不可行的:

代码语言:javascript
复制
git branch --unset-upstream
error: unknown option `unset-upstream'
usage: git branch [options] [-r | -a] [--merged | --no-merged]
   or: git branch [options] [-l] [-f] <branchname> [<start-point>]
   or: git branch [options] [-r] (-d | -D) <branchname>...
   or: git branch [options] (-m | -M) [<oldbranch>] <newbranch>

幸运的是,对我们来说,有问题的提交之前已经被推送到远程存储库,所以另一个拥有最新版本git的开发人员能够获取这些提交并将其合并到他们自己的本地分支版本中,从而恢复远程分支并允许我们合并它:

代码语言:javascript
复制
> git fetch origin <sha1hash>
> git checkout local-branch
> git merge <sha1hash>
> git branch --unset-upstream
> git push -u origin remote-branch

然而,似乎应该有一种方法可以在原始开发人员存储库中取消设置上游分支,可能是通过编辑配置文件,从而允许原始开发人员恢复该分支。

那么,如何在不使用git branch --unset-upstream的情况下删除上游分支呢

EN

回答 1

Stack Overflow用户

发布于 2017-06-16 19:03:22

以分支master为例,运行git config --local -e并删除以下行:

代码语言:javascript
复制
[branch "master"]
        remote = origin
        merge = refs/heads/master

或者只运行git config --remove-section branch.master (如果支持)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44586470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档