【问题标题】:How may I develop two features simultaneously with Git branching?如何使用 Git 分支同时开发两个功能?
【发布时间】:2021-05-10 08:33:47
【问题描述】:

假设我希望处理两个特性 A 和 B。我创建了两个对应的分支特性 A 和特性 B(除了主开发分支)。每当我在一个分支中进行更改时,我是否需要在签出到另一个分支之前提交我的更改?如果是这样,是否有任何解决方法?

【问题讨论】:

  • 研究使用git stash
  • 确实,git stash 是一个简单的解决方案。您可以在 featureA 分支中执行 git stash save "featureA",然后在 git checkout featureB 执行其他操作,通过 git stash save "featureB" 保存。 git stash list 将向您展示所有藏匿处。您可以使用git stash pop(这将导入存储并删除记录)或git stash apply(在您删除它之前存储仍然存在)应用任何存储

标签: git git-branch


【解决方案1】:

你可以查看 git worktrees。这使您可以同时签出不同目录中的多个分支。假设您从两个不同的分支开始:

git branch featureA
git branch featureB

您可以像这样在他们自己的目录中查看这些内容:

git worktree add work-on-featureA featureA
git worktree add work-on-featureB featureB

现在您可以通过更改目录在两个功能分支之间轻松移动。一旦您不再需要工作树,请使用 git worktree remove 将其删除:

git worktree remove work-on-featureA
git worktree remove work-on-featureB

【讨论】:

  • 这很好用。以及当您感觉完成了 featureA 和 featureB 时,您会如何处理。您是简单地将 featureB 与 featureA 合并还是如何合并?
  • 如何将这些分支合并到默认分支(或相互合并)与您是否使用工作树无关:这实际上取决于您的本地策略。对于我所做的那种工作,我可能最终会将一个分支合并到主分支(例如,main),然后在继续开发之前将剩余的功能重新设置为main(并最终将第二个分支合并到@ 987654328@ 完成后)。
猜你喜欢
  • 1970-01-01
  • 2015-11-18
  • 2013-07-25
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2020-09-08
  • 2012-01-17
相关资源
最近更新 更多