git - 旧的 git-commits move 到新的分支

标签 git merge branch move git-commit

我有以下问题:
- 我有 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/

相关文章:

git - 覆盖 merge 中的本地更改

Android 金鱼分支

git - 避免在 git 中使用时间戳

python - 除了计算之外,还可以使用现有数据框选择性地构建新数据框

困惑!提交到错误的分支

git - 一次为多个文件配置 vsdiffmerge

python - Pandas:如何将两列与第二个 DataFrame 合并?

git merge "deleted by us"

Git:如何确保新分支基于上游主控

branch - Perforce:如何在多个分支机构之间进行集成?