问题标签 [git-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2463 浏览

git - 如何为 git-flow 别名启用自动完成功能?

这是打破

它最终会起作用(在 2 个“标签”之后),但在每次“标签”按下时都会引发错误。

有任何想法吗?

0 投票
7 回答
12331 浏览

eclipse - Windows/Linux 上是否有 IDE/GUI 支持 git-flow?

  1. 是否有任何支持git-flow的 Git GUI 前端?

我们的团队在 Windows 和 Linux 上使用 Eclipse IDE。设法用 git-svn 逐渐感染他们,现在正在寻找下一步来利用真正分支的力量(而不是 git-svn-rebase/dcommit)。Git-flow 似乎或多或少是我们现在所需要的。然而,我们中的一些人仍然依赖于 GUI,它使一切更容易销售和升级。

因此,理想情况下,我正在寻找一种从 Eclipse 访问它的简单方法。它似乎还不支持它——我正在考虑将它们添加为外部工具。欢迎提出想法——在 Eclipse 内部或外部。

  1. 如果上面的答案是否定的,这对 GUI 上瘾者来说会是一个问题吗?

我知道 git-flow 工具实际上非常薄,通过手动执行“原始”命令(有或没有 GUI)很容易跳过它(例如,我发现在 git 中操作分支很方便)。

一方面,我更愿意尽量减少手动工作并减少出错的空间(再次考虑团队的经验)。OTOH,我的猜测是我们可以开始只使用开发/发布/修补程序分支(稍后介绍功能分支),在这种情况下,人们只需要正常拉/推。他们不会看到太多 git-flow - 它只会充当那些设置发布和东西的人的帮助者(主要是我:)。这有意义吗?

注意:实际上 git-svn/trunk 仍然存在——对于更多偶尔的非 git 用户。我计划将其与“开发”保持同步(显然通过壁球合并忽略了合并历史)。希望这一切顺利——著名的遗言?

0 投票
1 回答
1590 浏览

git - 具有多个稳定分支的 Git 工作流,与 svn 同步

我们的项目已经从 svn转换为 git。开发人员现在正在使用git-svn,但希望继续利用引擎盖下的更多功能。愿望清单:

  • 强大的分支,例如主题/功能分支
  • 主线和分期工作之间的隔离,有时是并行的。
  • 精益、平均和稳定的 Jenkins-CI 设置 - 最少的维护(与每次发布后更改工作配置相比)
  • 短迭代,开发团队每 2 周向 QA 发布一次;不一定在外面
  • 从相同来源构建的多个产品(P1..P3),独立发布;压力变化
  • 在“更大的团队”中有更多休闲的非 git 用户......他们是S&U :).. 但我们必须让他们 svn 访问至少 1 个分支(主干)。他们的贡献被限制在几个目录中,所以这里没有太大的冲突风险。

以下策略会奏效吗?

  1. 开发:进行开发的主线分支,a'la git-flow
  2. 稳定的产品分支:product1 .. product3。其中一个或多个将在开发版本发布时从主线合并。似乎类似于 git flow 中的“发布开始 1.4.3”,但这些将是永久分支。版本将在此处标记,然后合并回开发。这一点它会很稳定,就像 git-flow 中的 master 一样,只有几个。
  3. 停止直接使用 git-svn - 改为推/拉到镜像。如果需要,还可以使用功能分支
  4. 合并 svn/trunk -> 开发。Svn 会得到偶尔和孤立的签入;因此计划通过 Jenkins 工作将其自动化,如果失败则通知人们以便可以手动合并
  5. 合并开发-> svn/trunk:定期(例如每天),以批处理模式。这可能是最不稳定的部分(至少对于新手来说)。计划诸如变基或一些重置巫术之类的事情
  6. CI 设置很简单,例如测试和开发从主线构建,官方产品从他们自己的产品分支构建

Git-Flow很诱人——主要是因为它被很好地描述和自动化。但这似乎并不适合我的情况。主要是由于潜在的并行发布、多个产品线和CI 方面

任何知情意见将不胜感激。

0 投票
4 回答
1384 浏览

git - Git:无法推送新克隆的存储库

我有一个运行 Ubuntu 的新桌面。我已经将一堆 git repos 从我以前的计算机同步到我的新计算机。我可以毫无问题地推拉这些。但是,如果我git clone在一个新的存储库上做一个(我们使用 gitolite 和 gitflow),任何git push挂起。即使我可以成功推送一个 rsynced 项目,git clone从 gitolite 做一个项目也是成功的,但会导致我无法推送一个项目。这些.git/config文件是相同的。

我的电脑:

Git 推送输出(或读取 strace 输出):

它在这条线之后永远挂起Total 28 (delta...

来自同一个项目但来自 rsynced 目录的成功推送如下所示:

我能想到的唯一症状(红鲱鱼?)可能与此有关:

我必须添加一个 -T 才能使其正常工作。

同样,如果我在 rsyncedThirdPart-Sync目录中,我可以成功推送。只有当我尝试从 gitolite 服务器再次克隆该项目时,它才会失败。

更新:原来它不会永远挂起。过了好一阵子,我在行后得到以下Total 28信息。

更新运行 strace 并没有告诉我发生了什么。在回购中,我无法推送:

在我可以推送的 repo 上运行 strace可以从大致相同的位置给我这个:

0 投票
2 回答
513 浏览

git - 两个 Git 分支名称指向同一个分支?

我创建了一个裸 git 存储库(“核心”),使用 gitflow 从预先存在的存储库(“生产”)克隆。我已经将该裸仓库再次克隆到非裸仓库(“Staged”)中,然后在 Staged 中重新初始化 git flow(因为当我克隆裸仓库时似乎没有遇到 gitflow?)

但我刚刚注意到一些奇怪的事情。假设我在开发分支上的分阶段存储库中,并编辑一个文本文件(test.txt)。我运行git status它,它告诉我 test.txt 已被修改。惊人的。

现在,我没有提交或合并,但我使用 签出 master git checkout master,然后我git status再次运行它说 test.txt 已被修改!

如果我错了,请纠正我,但是我在开发分支上所做的任何更改都不应该影响主分支吗?这让我相信我的“master”分支和“develop”分支实际上是同一个分支。

很明显,我在某个地方犯了一个非常愚蠢的错误,但是在哪里呢?不知道。以前有人发生过这种情况吗?关于在这里诊断问题的任何指示?任何人都会想到我可能会犯的任何愚蠢的错误吗?有补救措施吗?

(我想指出,事实上,我确实需要一个开发和主分支)

更新 在我的开发分支上提交更改后,结果是 master 实际上返回到它的正确状态并且开发现在处于更新状态。我开始觉得也许这就是 git 的行为方式?

0 投票
7 回答
86445 浏览

git - git flow 分支已经分道扬镳

我正在使用 git flow 工具,但我遇到了一些问题。我的 git 分支已经发散了。我读过master 分支和“origin/master”已经分歧,如何“取消分歧”分支?并尝试按照这些步骤尝试合并和重新设置我的本地存储库。

我怎样才能摆脱这种情况?我已经完成了 git flow 功能,我只想将我的更改发送到远程。谢谢!

0 投票
8 回答
18788 浏览

git - 寻找一种使用 git flow 自动化“bump 版本”的方法

我已经使用 git flow 几个月了,效果很好。我想自动化“凹凸版”操作。

该项目是 PHP 并且 footer.php 有一个标记来替换当前的发布标记。我确信通过 git log 和 PHP 文件的一些 awk'ing 一切都应该解决,但我假设有人之前已经这样做了......

有任何想法吗?

0 投票
2 回答
723 浏览

git - Git 流和特定于客户端的功能

您建议如何在Git-flow或一般的 Git 中管理特定于客户端的功能和更改请求?特定于客户端的功能是否应该位于专用于客户端的单独分支中?(每个客户端都有自己的开发分支。)还是应该在单独的存储库中?(每个客户端都有一个专用的存储库,主存储库是我们的主存储库。)

0 投票
1 回答
3818 浏览

git - 在修补程序之后合并 Git Flow 功能分支?

我最近才开始使用 git flow,有些东西我不太明白。首先,我从不直接在开发中做任何事情。如果我做某事,我要么使用启动修补程序或功能。

当我开始一项新功能('sequentialUpgrades')时,我的插件版本为 1.1.5。那是4天前的事了。在过去的 4 天里,虽然还没有完成这个新功能,但我完成了 2 个修补程序,因此将它们合并回 master,然后在完成它们后进行开发,当然我在这两个分支上都有最新的更改,包括修补程序和我在 1.1.7 版...如果我做 a git diff master develop,没有区别。

现在当我回到我的特性分支继续开发这个新特性时,特性分支仍然回到 1.1.5,所以我没有 2 个最新的修补程序。

所以我有两个问题:

  1. 如果有什么方法可以在不搞砸的情况下将最新更改添加到我的功能分支中?

我正在考虑将开发合并到功能分支中,但我认为这不是正确的方法。但是,我真的很想,在开发这个新功能时需要最后两个修复程序。

  1. 如果我无法做到这一点,当我完成该功能时,它现在如何在没有任何冲突的情况下合并回开发?我无法解决这个问题。

因为我早在 1.1.5 就开始了这个功能。在功能分支中,我对文件 access-level.php 进行了重大更改。当我做修补程序时,我可能在同一个文件中更改了 5-6 行。如何将一个完全回到 1.1.5 并进行了一些重大更改的文件合​​并到 1.1.7 的同一个文件中,该文件从那时起也发生了更改?

0 投票
1 回答
1690 浏览

git - 使用 Git Flow,成功的分支模型

我加入了一个项目,他们的代码测试和版本控制解决方案有点混乱,所以我负责实施这些以及更多。

我对 Git 比较陌生,我想知道我应该如何实现http://nvie.com/posts/a-successful-git-branching-model/?我的意思是:

  • 我是否应该在 LAMP 服务器上设置 git 存储库git flow init(所有测试和版本控制都将在其中进行)?
  • 如何将一些更改推送到远程存储库中的特定feature_x//分支hotfix_yreleas_z
  • 我应该git flow init在我的本地克隆存储库上进行相同的设置吗?

我有 git 的基本知识,所以我很感激你的指导。

更新

如果您知道如何使用控制版本系统并能够从本地同步到实时和/或测试环境的更好解决方案,请告诉我......我愿意学习