我有以下问题:
- 我有 Master 分支和 Dev 分支,我最近添加了另一个名为 TA-17 的分支。
- 我提交了我所有的提交到这个分支,将它与 Dev merge ,并关闭了 TA-17 分支。
- 然后我向 Dev 分支提交了两次东西
- 现在我创建了一个名为 TA-38 的新分支(从 JIRA 内部)并对其进行了第一次提交。
结果:
- 来自 TA-17 的所有旧提交现在都显示为在新的 TA-38 分支(和 DEV 中)
- 在我的提交旁边左侧的图形显示中没有新分支可见
预期结果:
- 所有旧提交仍应显示为 TA-17,即使分支已关闭。
- 在我的提交左侧的图形显示中应该可以看到一个新分支
- 我只提交给 DEv 分支的 2 次提交不应标记为 TA-38 (63782a8 & 2a93cb3)
在此之后我又玩了一下:
- 删除了 TA-38 分支和它包含的一个提交(并看到所有旧提交现在再次仅显示为 DEV 的一部分)
- 将 master merge 到 DEV(落后 1 个提交)
- 使用“git branch”再次创建 TA-38 分支
- 向 TA-38 分支提交新的提交
再次将所有旧提交移至新分支(现在显示为 DEV 和 TA-38 的一部分)
我做错了什么,我该如何解决?
https://bitbucket.org/kamaradski/t-a/commits/all
这可能是用户错误,但我找不到关于此主题的任何信息。
我可能遗漏了一些东西,也许我需要 rebase ,或者运行某种重置...?
最佳答案
在查看了您的 Bitbucket 存储库后,我认为混淆是 TA-38
创建于 dev
,但是TA-38
的 merge 目标是 master
.所以是的,您看到了 TA-38
之间的所有提交。和 master
/dev
分支点 ( 5a8d807 )。这包括您的旧 TA-17
分支机构。
如果你改变TA-38
的 merge 目标为 dev
, 额外的 TA-17
提交不应出现在 TA-38
上网页了。 (它们仍然存在,但作为 dev
的一部分。)
编辑:根据this ticket ,永久更改 Web 界面中的 merge 目标是一项未实现的功能。您可以临时更改它,但在您离开页面后,它会始终默认返回到在 Bitbucket 中定义为“主分支”的分支。
您的问题的解决方法是将“主分支”设置为 dev
反而。这可以在您的存储库设置中更改。如果您使用“git-flow”风格的工作流程,将您的功能分支 merge 到 dev
中,那可能会更好。 , 然后 merge dev
进入master
.
关于git - 旧的 git-commits move 到新的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208635/