gpt4 book ai didi

git - 如何正确使用git和分支

转载 作者:IT王子 更新时间:2023-10-29 01:01:48 25 4
gpt4 key购买 nike

我是 GIT 版本控制的新手。我读了这个Guide并遵循图表 HERE 中显示的基本方法.尽管如此,对于如何使用 git 分支将新功能的开发与现有代码分开,我还是有些疑惑。

这是一个例子。假设在开始时,我的存储库包含以下两个主要分支:

  • 主分支(包含发布版本)
  • 开发分支(包含新的修复或功能以将它们与现有项目功能分开)

当我需要开发新功能或模块时,我会从 Develop 创建分支并在那里启动新代码项目。例如,我创建了三个新分支以添加与 SunStarSuperNova 相关的功能。现在,我的存储库包含五个分支:

  • 主分支:发布 1.0.0
  • 开发分支:1.0.0版本后修改
  • NewModule_Sun 分支:将 Sun 添加到项目中(从 Develop 分支创建)
  • NewModule_Star 分支:为项目添加 Star(从 Develop 分支创建)
  • NewModule_SuperNova 分支:将 SuperNova 添加到项目(从 Develop 分支创建)

对于 1.0.1 版,我想包括 SunStar 模块,但不包括 SuperNova。因此,我将它们与 Develop merge ,然后将 Develop 与 Release merge :

  1. 将 NewModule_Sun merge 到 Develop
  2. 将 NewModule_Star merge 到开发中
  3. 将 Develop merge 到 Master(1.0.1 版)

Develop 分支需要永久保留,但不再需要SunStar 分支。他们被删除:

  1. 删除 NewModule_Sun 分支
  2. 删除 NewModule_Star 分支

在这些更改之后,我的存储库包含以下三个分支:

  • 主分支:1.0.1 版
  • 开发分支:1.0.1版本后修改
  • NewModule_SuperNova 分支:1.0.0 版本后的修改(在未与 Star/Sun 分支 merge 时从 Develop 创建)

==

首先,我是否正确使用了 git 分支?

其次,我回顾了最后的 Develop 分支的历史,似乎我丢失了一些关于 NewModules 的信息。那是正常的吗?还有,是否可以将所有的历史信息转移到 Develop 分支?

谢谢!!

最佳答案

Am I doing a propery use of git?

是的,您描述的工作流程几乎是标准工作流程。您创建了一些分支,对其进行处理,完成后将其 merge 并删除不需要的分支(除非您打算继续在该分支上进行开发)。

After removing a branch, viewing the history it seems to me that I have lost every information about the branch itself... is that normal?

是的,这很正常。

is it possible to remove a branch but leaving the history information unbroken?

不知道你说的是什么意思。只要在删除之前 merge 了分支,历史就还在。您只是将它 merge 到另一个分支中,并且可以在该分支上看到历史记录。如果这就是您所要求的,则无法知道分支何时被删除。

关于git - 如何正确使用git和分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009175/

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