【问题标题】:Git: local branch lost remote after a mergeGit:合并后本地分支丢失远程
【发布时间】:2017-01-16 16:28:26
【问题描述】:

我正在开发一个功能分支“feature/myFeature”,它正在跟踪一个远程分支“origin/feature/myFeature”

我最近从 develop 合并到 myFeature,因为我需要集成其他开发人员的错误修复以继续工作。 (我们使用的是gitflow,所以我的feature分支最初是从develop分支出来的)

不知何故,合并后,我的本地分支不再跟踪远程 git push。我想确保我不会失去任何东西。知道如何解决它。

这是 git remote show origin 的输出

* remote origin Fetch URL: http://urltomyrepo Push URL: http://urltomyrepo HEAD branch: develop Remote branches: develop tracked feature/myFeature (fake name) tracked master tracked Local branches configured for 'git pull': develop merges with remote develop feature/myFeature merges with remote feature/myFeature master merges with remote master Local refs configured for 'git push': develop pushes to develop (up to date) master pushes to master (up to date)

请注意,feature/myFeature 显示为为 git pull 配置,但不是为 git push。知道如何解决这个问题吗?

如果有帮助的话,合并是使用 Visual Studio 2015 Update 2 中内置的集成执行的

【问题讨论】:

  • 您可能想要添加git config --list 的输出,或者至少添加git config --get push.defaultgit config --get-all remote.origin.push(这两个将包含在--list 输出中)。根据您的 Git 版本的 push.default 和/或 remote.origin.push 中是否有任何内容,接下来的结果取决于每个分支的配置中的内容(也将在 git config --list 输出中)。请注意,我对 Visual Studio 一无所知(包括它可能嵌入的 Git 版本)。

标签: git visual-studio


【解决方案1】:

你试过了吗:

git push origin feature/myFeature

它只会将您的本地提交推送到原点。所以它应该跟踪它的起源。

建议:在命令行中使用 GIT。

【讨论】:

  • 嗨,马修。不继续了: git push origin feature/myFeature 响应:致命:feature/myFeature 无法解析为分支。但是,拉动有效:拉动源功能/myFeature 响应已经是最新的。
  • 那么让我们看看你的指针怎么样......你能提供这个命令的结果吗: git log --graph --oneline --all --pretty=format:'%h -%d %s'
  • 嗯,如果feature/myFeature cannot be resolved to a branch,听起来本地分支名称已经被完全删除了。同时,git remote show 输出意味着该分支的配置 entry 仍然存在。请注意,删除分支 name 不会立即删除其提交:它们可能(或可能不会)不受保护,因此容易被删除,但不会立即删除。
  • 你的分行名是不是拼错了?在您的示例中,您输入了一个假名称,但您可能在任何地方都复制/粘贴了相同的名称,而分支名称却不同。
猜你喜欢
  • 2014-03-06
  • 2020-04-04
  • 1970-01-01
  • 2012-01-02
  • 2013-11-21
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多