Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git分支/重定基良好实践_Git_Dvcs_Branch_Git Branch - Fatal编程技术网

Git分支/重定基良好实践

Git分支/重定基良好实践,git,dvcs,branch,git-branch,Git,Dvcs,Branch,Git Branch,我有以下一个场景: 3个分支机构: -大师级 -MyBranch将Master分支,目的是开发系统的新功能 -MyBranchLocal将MyBranch分支为分支的本地副本 MyBranch正在被其他开发人员(他们正在开发与我相同的功能)重新设置基础并推给我 作为MyBranch分支的所有者,我希望通过重定基址使其与主分支保持同步。我还需要将对MyBranchLocal所做的更改与MyBranch合并 这样做的好方法是什么 到目前为止,我尝试了几种可能的方案: I. 1.将更改提交到MyBra

我有以下一个场景:

3个分支机构:
-大师级
-MyBranch将Master分支,目的是开发系统的新功能
-MyBranchLocal将MyBranch分支为分支的本地副本

MyBranch正在被其他开发人员(他们正在开发与我相同的功能)重新设置基础并推给我

作为MyBranch分支的所有者,我希望通过重定基址使其与主分支保持同步。我还需要将对MyBranchLocal所做的更改与MyBranch合并

这样做的好方法是什么

到目前为止,我尝试了几种可能的方案:

I.
1.将更改提交到MyBranchLocal
2.将MyBranch重设为主分支的基础
3.根据MyBranch重新设置MyBranchLocal的基础
4.将MyBranch与MyBranchLocal合并

二、
1.将更改提交到MyBranchLocal
2.将MyBranch与MyBranchLocal合并
3.将MyBranch重设为主分支的基础
4.根据MyBranch重新设置MyBranchLocal的基础

三、
1.将更改提交到MyBranchLocal
2.将MyBranch重设为主分支的基础
3.将MyBranch与MyBranchLocal合并
4.根据MyBranch重新设置MyBranchLocal的基础

我已经知道场景III似乎把提交历史搞得一团糟,可能会重复提交


你有什么经验?您建议采用哪些方案来最小化合并工作并保持历史记录的干净?

我个人的建议。这一个重点是有一个直接的提交历史记录,并且在“更具体”的分支上失败(你最好把你的本地分支弄得一团糟,而不是特性分支)

  • 将更改提交到MyBranchLocal
  • 根据MyBranch重新设置MyBranchLocal的基础
  • 将MyBranch与MyBranchLocal合并(应为快进)-MyBranch=Local
  • 重新设置MyBranch与Master的相对位置
  • (可选)将主机与MyBranch合并(也应为快进)
  • 根据MyBranch重新设置MyBranchLocal的基础

  • 我在链接到之后发现了这个问题。根据电子邮件-你不应该在某个公共网站上发布你的历史后重新设置基址,因为你可能会破坏其他人的历史。因此,MyBranchLocal的rebase是可以的,但MyBranch(与其他开发人员共享)则不行