在相互依赖的多个 git 分支上工作
Working on multiple git branches that are dependent on each other
我在 Git 上维护一个项目的 4 个分支,结构如下。
- 硕士
- 学生
- 老师
- 身份验证
问题是我创建了最后一个 "authentication" 分支并从该分支添加了一些代码。现在,我切换到 "teacher" 分支继续工作。但是,我需要在 "authentication" 模块中添加一些功能才能在 "teacher" 模块上工作。但是我还没有完成 "authentication" 模块的工作以进行合并。使用 git 处理此问题的正确方法是什么?谢谢
听起来你的分支相互依赖,这给你带来了问题。分支依赖性可能是由于分支越来越大并且包含太多东西而引起的。
这意味着您可以从更早的合并较小的东西中获益!但是看起来您不想在 "complete".
之前将 teacher
或 student
合并到 master
听起来 您需要一个地方来合并已完成但可能尚未准备好发布的工作。
如果您正在考虑将 master
作为一个仅包含已完成功能的分支,也许您需要另一个名为 develop
的分支,该分支允许不包含全部功能,但允许合并较小的步骤?
然后你可以这样做:
- 做一些与
teacher
相关的功能,合并到develop
- 为
student
相关功能创建一个新分支,合并它们以进行开发
- 重复此操作直到
develop
看起来像您可以发布的东西
- 合并
develop
到 master
并在新版本中添加标签
这意味着无论您在 teacher
的工作期间进行了哪些系统改进,它们也将在 student
的工作期间快速为您提供。这同样适用于身份验证等其他功能。
Don't let your feature branches stay unmerged for more than a few days.
Unmerged work is waste!
这通常发生在等待 缓慢的代码审查 时,而您的新更改堆积在 小的可管理分支的顶部也需要审查 .一旦你深入到 7 层并在链的底部进行更改,更新就变得非常耗时......
所以 我创建了这个脚本 来为您进行合并! (它会因错误或合并冲突而停止)
https://gist.github.com/brennemankyle/6770781bc43c8d2b03988c4c89867871
我在 Git 上维护一个项目的 4 个分支,结构如下。
- 硕士
- 学生
- 老师
- 身份验证
问题是我创建了最后一个 "authentication" 分支并从该分支添加了一些代码。现在,我切换到 "teacher" 分支继续工作。但是,我需要在 "authentication" 模块中添加一些功能才能在 "teacher" 模块上工作。但是我还没有完成 "authentication" 模块的工作以进行合并。使用 git 处理此问题的正确方法是什么?谢谢
听起来你的分支相互依赖,这给你带来了问题。分支依赖性可能是由于分支越来越大并且包含太多东西而引起的。
这意味着您可以从更早的合并较小的东西中获益!但是看起来您不想在 "complete".
之前将teacher
或 student
合并到 master
听起来 您需要一个地方来合并已完成但可能尚未准备好发布的工作。
如果您正在考虑将 master
作为一个仅包含已完成功能的分支,也许您需要另一个名为 develop
的分支,该分支允许不包含全部功能,但允许合并较小的步骤?
然后你可以这样做:
- 做一些与
teacher
相关的功能,合并到develop
- 为
student
相关功能创建一个新分支,合并它们以进行开发 - 重复此操作直到
develop
看起来像您可以发布的东西 - 合并
develop
到master
并在新版本中添加标签
这意味着无论您在 teacher
的工作期间进行了哪些系统改进,它们也将在 student
的工作期间快速为您提供。这同样适用于身份验证等其他功能。
Don't let your feature branches stay unmerged for more than a few days.
Unmerged work is waste!
这通常发生在等待 缓慢的代码审查 时,而您的新更改堆积在 小的可管理分支的顶部也需要审查 .一旦你深入到 7 层并在链的底部进行更改,更新就变得非常耗时......
所以 我创建了这个脚本 来为您进行合并! (它会因错误或合并冲突而停止) https://gist.github.com/brennemankyle/6770781bc43c8d2b03988c4c89867871