问题标签 [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.
git - 在已经存在的项目上安装和配置 git flow
我对 git 很陌生(阅读了 git pro 的基础知识),并且几乎没有后端知识。由于我的项目正在扩展,git flow 似乎是我需要的最合适和最简单的工具。然而,我想在开始之前确定要遵循的步骤。
我的\var\www
文件夹如下:
- 我的项目
- myproject_preview
目前我正在 myproject_preview 中进行更改,我正在进行测试,只要可以发布,我就会手动复制更改的文件。
我仍然希望能够在将更改推送到 myproject 之前预览更改。
据我所知,我需要:
git init -u
在 myproject 中使用创建存储库- 在 myproject_preview 中克隆它
git flow init
在 myproject_preview- 进行更改并提交
- 将提交推送到 myproject(远程?)
这是正确的方法吗?
写这篇文章,我意识到我不太确定我是否熟悉 git 概念:/
git - 如何别名 git flow hotfix finish [current_hotfix_branch]
git flow任何时候只允许一个修补程序分支。所以而不是输入:
我想创建一个使用唯一现有修补程序分支名称的别名。类似于以下伪代码:
任何人都可以帮忙吗?谢谢。
更新:我正在使用 zsh。
git - Git-flow、gerrit 和变基到更新的上游版本
考虑一个由 gerrit 管理的本地存储库,它定期从基于 github 的项目同步(具有适当的跟踪分支/标签。开发是在代码的版本 1(标签 = 1.0)上初始化的。正在对该代码进行开发并通过 gerrit 定期合并到内部开发分支,也可能合并到内部发布/主分支。
不过,最终还是希望我们迁移到外部 v2.0,或者我们从发布线中提取所有更改(在它与开发不同之后)。
鉴于这是通过 gerrit 管理的代码,您是否会直接重新设置开发分支以将内部/外部“上游”更改引入您的开发线,或者您是否会从开发分支,重新设置开发人员分支到 v2.0,然后推送开发人员以通常的方式通过gerrit分支?
我问是因为前者在这个框架内似乎是带外的......从我读过的关于这个主题的内容(例如这里)来看,在 gerrit 中可能无法实现这样的就地变基,如果我们会定期将所有内容推送给其他团队(最终可能会发生)。后者(pull-via-developer-branch)似乎更健壮,并且不需要开发人员具有绕过 gerrit 或正常开发过程的特殊权限。
你的意见?
svn - 是否可以将 git-flow 模型与 Subversion 一起使用?
我们使用 Subversion,除了像我这样的少数人之外,几乎没有在 Subversion 中进行分支和合并的经验。我的 Subversion 经验仅限于简单的功能分支,其中合并和树冲突虽然并不罕见,但解决起来并不难。
鉴于此,我正在帮助管理一个项目,在该项目中,我们当前对主干方法的承诺根本无法满足我们的需求。我向我的本地化团队介绍了功能分支和合并,我们取得了一些成功。然而,简单的特征分支仍然无法回答我们所有的问题,例如:
- 我们如何为这个版本和后续版本并行开发代码?
- 什么代码被认为是稳定的?
- 什么(开发中)代码将进入下一个版本?
- 哪些(开发中的)代码将进入后续版本?
- 我们的测试、验收或生产环境是什么版本的代码?
- 我们如何将并发开发活动与已知的稳定版本集成,以减少引入错误和不完整的工作?
- 我们如何为已发布的代码提供热修复?
- 我们如何从源代码控制中知道当前正在进行哪些开发活动?
- 我们如何在不破坏当前代码库的情况下进行实验或研发?
似乎 这里定义的 git-flow可以回答很多这些问题。我在 Mercurial 中尝试了这种方法,似乎也可以在那里实现这种方法。遗憾的是,此时迁移到 DVCS 是不可能的。
然而,我在 Subversion 中模仿这种方法的短暂尝试因许多合并和树冲突而失败。合并选项和边缘情况众多且令人费解。
可以使用 Subversion 来实现git-flow,如果可以,痛苦程度如何?
git - 将 gitflow 功能分支发布到 gerrit
我使用 Gerrit 和 gitflow,我想将我的 giflow 功能分支推送到 Gerrit。当我使用一个简单的
Gerrit 拒绝推送,因为我试图推送到feature/feature_name分支,这是不允许的。我想改为推送到refs/for/feature/feature_name并创建此远程分支(如果它不存在)。
在我的 git 配置中,我尝试设置
但是当我使用 gitflow 发布时,这个设置会被忽略。
有没有办法使用 gitflow 的功能发布命令设置远程分支?
git - Git flow with github - 推送到中央仓库
我已经在 Git hub 上设置了一个存储库,并且正在使用 git flow。我知道如何创建功能、发布和修补程序,但是从我目前所阅读的内容来看,您如何推送到中央存储库(github)似乎并不清楚,因此我有几个问题:
- 一旦一个功能完成并且你已经运行
git flow feature finish
了,你如何将它推送到 github? - 一旦它被推送到 Github,我是否需要从 Github 中提取,或者我们是否永远不会触及中央存储库并简单地使用它以便其他开发人员/服务器可以从中提取?
- 开发人员如何使用 git flow 从中央仓库拉取数据?
谢谢
git - 使用 Github 部署的 Git 流程
我在一个由 4 名其他开发人员组成的团队中,我们正在学习 GIT,并使用 gitflow 模型和 github 作为中央存储库。到目前为止,我们已经在 github 上创建了中央存储库,我们可以创建功能,将它们推送到中央存储库并从那里拉取以获取彼此的更改。
所有开发人员都在他们的本地机器上工作,但是我们设置了 3 个服务器 - 开发、登台和生产。
开发是每个人都可以查看彼此变化的地方,一旦我们感到高兴,我们将转移到登台。在我们最终使网站投入生产之前,将在这里进行测试以确保一切正常。
该网站目前已经完成,我们已经在开发服务器上克隆了存储库并提取了所有网站文件,以便我们可以看到那里的所有更改。但是,我们现在不确定是否应该部署到登台并最终部署到生产中。
- 我们是否首先在本地创建一个发布分支并推送到中央仓库?
- 我们是否在登台和生产服务器上克隆中央仓库?
- 如果是这样,我们是从中央仓库中提取还是不应该在生产服务器上使用 GIT?我读过关于使用 rsync 和钩子的信息?!
如果有人可以请解释接下来的步骤,或者将我指向某个解释它的地方,这将非常有帮助。
谢谢
git - 带有 stash 的 git rebase 显示可能的重复提交
我将 git 与 git flow 以及“dev”和“branches”一起使用。我开发了一个基于 dev 的功能,然后在 dev 中进行了一些提交。现在我想在 dev HEAD 上重新定义我的功能。Rebase 工作得很好,但我也隐藏了我的功能的变化。当我运行 gitk 时,一切看起来都很好,但是当我在视图中勾选“All refs”时,它会显示功能分支两次 - 一次正确地重新基于 dev HEAD,而且还显示在它在分支树中的旧位置。我认为它与隐藏有关,因为没有隐藏就不会出现。
变基之前:
变基后
在用 stash 变基后
实际问题:这些提交真的是重复的吗?如果是,我能做些什么呢?
git - 如何撤消 git flow 功能完成?
我正在学习 git-flow,我刚刚做了git flow feature finish <feature-name>
,它合并了我的功能分支来开发和删除它。
而不是这个,我想将功能分支推送到 github,这样我就可以在同行评审后合并它。
所以问题是,我如何“撤消”这个命令。或者换句话说,我怎样才能将我的最后两个提交从开发移动到我的功能分支?