bitbucket - 无法看到合并分支的提交

时间:2016-08-22 09:25:08

标签: git bitbucket

我公司在bitbucket上托管代码 - Git。我们的工作方式是为每个问题创建分支,个人在该分支上工作。完成工作后,他提出了Pull Request。在提出PR之前,他用master分支重新编写代码。团队中的其他人审查他的PR&然后批准它。 PR批准后,同一个人将其合并到主分支

我在6月2日创建了分支机构。 PR于6月14日合并。 Branch在3个不同的文件中有3个提交。随后,其他开发商的分支机构于6月26日合并。他还处理2个文件,我改变了。现在经过一个多月,当我查看文件历史记录时,我没有看到我的提交。在我更改的3个文件中,只有1个文件更改。他们显示正确的提交号码。其他2个提交未显示在文件历史记录中。我可以猜测,我的更改已被覆盖,但git历史文件,必须显示提交。

有人有想法,怎么会发生。我的意思是如何在git历史中为特定文件消除提交。

由于 Aniruddha

1 个答案:

答案 0 :(得分:0)

我们公司使用类似的流程:

  1. 我们在问题分支机构工作
  2. 在BitBucket中创建一个拉取请求
  3. 高级开发人员审核并批准(或不批准)
  4. 如果没有合并冲突,则合并
  5. 如果存在合并冲突,则开发者必须解决这些冲突,他们将合并它
  6. 注意我说合并在这里,而不是rebase。对于粗心大意的人来说,重新定位充满了危险。当您进行rebase时,您将放弃现有提交并创建相似但不同的新提交。如果您推送到BitBucket并且其他人将它们拉下来并根据它们进行工作,然后用git rebase重写这些提交并再次推送它们,那么您的同事将不得不重新合并他们的工作,当事情变得混乱时你试着把他们的工作拉回你的工作。沿着这些线路发生的事情很可能发生在一个同事在你的分支出局(或他们的分支机构)的情况下重新开始他的工作并粉碎了你的承诺。通过明智地使用git log来确定哪个提交是哪个,可以解开这个问题。

    展望未来,我建议合并重新定位。如上所述,如果Pull Request上没有合并冲突,则不执行任何操作。如果有,这是解决它们的过程:

    git fetch origin <Team's Main Branch>
    git merge FETCH_HEAD <your branch>
    -- make and stage fixes
    git commit
    git push