gpt4 book ai didi

git - 保持功能分支最新

转载 作者:太空狗 更新时间:2023-10-29 14:12:05 26 4
gpt4 key购买 nike

最近我们开始在我们的项目中使用 Gitflow,但我们遇到了一些我们无法解决的问题。

我们有 masterdevelopfeature/xyzhotfix 分支的默认设置。因此,假设我正在开发一项长期功能,我们称其为 feature/long-time。与此同时,我的同事们正在处理 feature/short-time。想象一下,在一些工作之后,他们会将 feature/short-time 提交到 develop 而我偶尔会提交 feature/long-term 这样他们就可以查看我的进度,它已安全备份。

feature/long-term自然不能忽略develop分支太久,否则会落后。那么我们如何定期将develop分支的变更同步到feature/long-term分支呢?

我遇到过两种选择:

  • 只是时不时地执行 git merge。但是,根据 Gitflow 的理念,我觉得这并不正确
  • 我现在也见过几次 git rebase,但这似乎只有在您不将更改推送到远程分支时才有效,对吗?

总结:如何正确地使我的功能分支保持最新?

最佳答案

这又带回了 merge 与 rebase 的讨论,该讨论已被多次解决。长话短说,可以查看here .
正如您正确所说的那样,如果您正在推送您的分支,那么重新设置基准是不好的,因为更改您的 git 历史记录会使您强制推送,这对日常工作不利,但总的来说,重新设置基准比“更干净” merge ,所以:

  • 如果出于任何原因(代码审查、分支的 CI 构建等)必须经常推送您的分支,您最好的选择是 merge
  • 如果您可以完全以独立的方式工作,避免频繁推送更改,rebase 可能是更好的选择。

如果您的任务很长,即使 rebase 是您的主要策略,不时 merge 也是一个好主意,因为: 1.您的修改会不时备份到远程仓库中。
2. rebase 大量提交是不切实际的,因为差异是逐个提交计算的,而在 merge 中它是同时为所有提交计算的。这意味着对于大量提交,您可能需要解决不必要的大量冲突,这些冲突可以通过 merge 减少到每个文件一个。

总而言之,我建议大部分时间重新设置基准以保持干净的存储库,但不时 merge 以在存储库中保留分支的备份并照亮 future 的重新设置。

关于git - 保持功能分支最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410565/

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