gpt4 book ai didi

git - 一个分支的多个功能 - 有什么意义?

转载 作者:太空狗 更新时间:2023-10-29 12:51:03 25 4
gpt4 key购买 nike

在 SourceTree 上,我有一个名为“develop”的分支。我使用 SourceTree Git Flow 从“开发”分支创建一个新功能。我对功能分支进行更改,然后完成功能,更改返回到我的“开发”分支。

然后我将这些更改推送到远程。

现在,这就是我尝试做的事情。我不得不同时处理两个 JIRA 任务。所以我从“develop”分支创建了两个特性分支:“develop/feature1”和“develop/feature2”。在 SourceTree 上选中时,我可以通过双击它们来切换功能。然后我可以检查两个功能分支的工作副本,但我注意到我添加到一个分支的文件也已添加到另一个分支。

我的问题是:

  1. 当我将文件添加到一个功能的工作副本时,为什么它们会出现在另一个功能的工作副本中?

  2. 如果不能将更改彼此隔离,那么拥有功能分支有什么意义?

最佳答案

git 允许您切换分支,即使您在当前分支中有未提交的更改。这些文件保持未提交状态,如果需要,您可以在其他分支中提交它们。当您意识到您已经完成了应该在 feature/feature2 上的 feature/feature1 工作时,这很棒。

一旦您提交了更改,它们就不会再在分支之间切换。然后,您可以在分支之间 merge 或挑选更改。

请注意,如果您有未提交的更改导致您要切换到的分支发生 merge 冲突,那么 git 将不允许您切换分支,即使您的更改之一在文件中也是如此已在您要切换到的分支中更改和提交。在这种情况下,您需要先提交、恢复或存储您的更改。

如果 git 不允许您切换分支并且您尝试通过在切换分支之前存储更改来解决该问题,您应该确保将 pop 存储在原始分支中。如果您在 feature/feature1 上,存储更改,然后切换到 feature/feature2 并在那里存储 pop,您丢失存在的更改在 feature/feature2 中,但不在 feature/feature1 中。这很难检测到。

关于git - 一个分支的多个功能 - 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com