为什么在我的新请求请求中来自其他请求请求的提交?

时间:2018-06-26 11:49:00

标签: git bitbucket

与git团队一起工作对我来说还是很新。

我从“起源/主人”开始。

enter image description here

  1. 首先,我创建了一个新分支feature/26062018-offline-seite_ef

  2. 我添加了提交。

  3. 我签出了本地master分支。

  4. 我合并到功能分支(git merge feature/26062018-offline-seite_ef

  5. 我已推送到远程服务器(git push origin feature/26062018-offline-seite_ef

  6. 我切换到Bitbucket并创建了请求请求。有一个ID为f0ebe14的提交,但我期望0593ba83

enter image description here

然后我开发了其他东西:

  1. 首先,我创建了一个新分支feature/26062018-newsletter-popup_ef

  2. 我添加了提交。

  3. 我签出了本地master分支。

  4. 我合并到功能分支(git merge feature/26062018-newsletter-popup_ef

  5. 我已推送到远程服务器(git push origin feature/26062018-newsletter-popup_ef

  6. 我切换到Bitbucket来创建拉取请求。但这就是我得到的:

enter image description here

我只希望提交7a52ce3b,但是我得到了这两个。

我的git工作流程出了什么问题?

3 个答案:

答案 0 :(得分:2)

请注意最初在第3-5步中所做的操作:

  
      
  1. 我签出了本地master分支。

  2.   
  3. 我合并到功能分支(git merge feature/26062018-offline-seite_ef

  4.   
  5. 我已推送到远程服务器(git push origin feature/26062018-offline-seite_ef

  6.   

您在第4步中所做的有时称为测试合并。您没有在任何地方推送此合并,但是您仍将其保存在存储库中。

然后,在第二组步骤中,进行以下操作:

  

创建了一个新分支feature/26062018-newsletter-popup_ef

此特定名称此时已命名您进行的测试合并。您在第2步中所做的其他提交是通过此合并构建的,因此您最终推送的提交是:

  • 您在第一组中所做的所有提交(它们可能已经通过您先前的pull请求获得了这些提交,因此该部分执行得非常快);加
  • 合并提交;加
  • 您在创建feature/26062018-newsletter-popup_ef之后所做的提交。

因此,这些是您 second 拉取请求中的提交:第一个请求中的所有提交,加上合并,以及您想包含在其中的提交。

您应该做的是以下任何事情:

  • 将测试合并到某个 other 分支(不是您的master)上,或
  • master上合并测试,然后将其删除(例如,git reset --hard HEAD~1);或
  • 甚至不用担心测试合并(仅在某些受限情况下是很好的做法)。

这时您需要做的是撤消第二个拉动请求。您可以从第一次测试合并之前的最后一次提交开始创建 new 分支-请记住,此时,您的master上有两个测试合并。此起点通常还将与origin/master的提交哈希ID相匹配。现在您有了一个新的分支,可以使用git cherry-pick将所需的提交复制到正确扩展图的新提交中,并根据需要测试合并这些提交,并推送这些提交。 (您可以通过使用git branch -m重命名提交过多的分支来重用分支名称;请参见the documentation。)

答案 1 :(得分:1)

您从feature/26062018-newsletter-popup_ef分支而不是feature/26062018_offline-seite_ef分支创建了新分支master。因此,您将从feature/26062018_offline-seite_ef分支到分支的更改包括在内。

答案 2 :(得分:-1)

我通过执行git reset --hard 6d960676(重置为原点/原版)来“解决”它。然后我完全重新开始,但是这次我在开发功能后完全没有与本地主人合并。我只是让分支打开并断开与本地主服务器的连接,然后进行推送。

每次创建新的功能分支之前,我都会先结帐母版,以便不在其他功能分支的顶部创建该分支。

问题:如果我想查看对该功能所做的更改,我必须每次都检出特定的分支,但是我无法合并这些功能。我一合并,便又开始混乱了……