标签: git-workflow

Develop分支在gitflow中没有用吗?

每当我在团队中寻找使用git的正确方法时,我们总是会提到git-flow。

我们从一开始就开始将此计划用作圣经。

在此处输入图片说明

时间的流逝,我们最终发现将master保留为带有标记的commit的稳定分支是浪费时间。

为什么要标记稳定的提交,然后按PUSH以掌握已经标记的相同版本。标签存在,您可以随时返回此提交。为什么要麻烦我保留此分支仅包含标签?

这是我们使用的Git-Flow,它的工作原理就像一种魅力。

Master:实际上是我们的开发分支Release:我们创建一个release分支来做最后一个发布测试用例,然后在需要时添加修订。功能:我们从Master分支创建功能,然后将拉取请求发送给master。

实际上,它与gitflow相同,没有包含稳定的分支。

这样做的另一个优点是,MASTER是DEVELOP分支。因此,当新的队友进入该项目时,他可以从克隆项目开始,而他的主人已经与实际开发保持同步。

在图像中:

在此处输入图片说明

我的问题是,如果您只能用相同的结果管理4个分支,为什么还要使用原始的git-flow和5个分支?

git git-workflow git-flow

2
推荐指数
2
解决办法
595
查看次数

为什么 git tag local 在推送后会在远程创建两个标签?

我正在从分支 A 创建一个 git 分支 B。

$git checkout A
$git checkout -b B
Run Code Online (Sandbox Code Playgroud)

我更改了分支 B 中的一些文件,然后

$git add <files>
$git commit -m "a message"
Run Code Online (Sandbox Code Playgroud)

然后我在分支 B 处于活动状态时创建一个标签

$git tag -a <tag_name>
Run Code Online (Sandbox Code Playgroud)

我还在本地。

然后我结帐分支 A

$git checkout A
Run Code Online (Sandbox Code Playgroud)

将分支 B 合并到 A

$git merge B
Run Code Online (Sandbox Code Playgroud)

我推分支A

$git push origin A
Run Code Online (Sandbox Code Playgroud)

然后我推送标签,而我还在分支 A

$git push origin tag <tag_name>
Run Code Online (Sandbox Code Playgroud)

现在,如果我在遥控器上列出标签,我会通过以下方式看到两个标签:

$git ls-remote --tags

<tag_name>
<tag_name>^{}
Run Code Online (Sandbox Code Playgroud)

^{}附加到一个第二条目

有人可以解释这里的原因是什么吗?

为什么我在遥控器上看到两个标签?

在本地,只有一个

$git tag -l
<tag_name>
Run Code Online (Sandbox Code Playgroud)

我这样做的顺序是常见的吗?或者建议使用不同的顺序?我真的只想在分支 B(以及那里的所有文件)上添加一个标签。

git git-workflow git-tag

2
推荐指数
1
解决办法
39
查看次数

Github 操作仅在功能分支上运行

我只是在尝试 GitHub 操作,并且有以下工作流程。

  1. 当开发人员完成一项功能并在(分支名称可以采用 的格式feature/ticketno)上创建 PR 时,我想针对新创建的 PR 分支运行一些测试。

我发现的一个解决方案是在操作步骤中添加 if 条件,以避免针对 PR 上的所需分支(即 master、staging)运行测试。

但不确定这是正确的方法,我正在寻找合适的解决方案

git git-workflow github-actions

2
推荐指数
1
解决办法
6914
查看次数

GIt工作流开发和生产 - 我应该在哪里创建回购?

我在某个地方读过*这样的设置会很好:

两个主要分支,每个服务器一个.

推送到主人发送更改为live;

推送到dev/stage(或者你称之为的任何东西)会发送更改到staging;

工作流程:

  • 从dev创建分支;

  • 在你准备测试之前在当地工作;

  • 合并回dev;

  • 推送到Hub,它将更改发送到dev/staging服务器.

一旦你准备好上线了:

  • 从dev到master合并,

  • 然后将master推送到Hub,Hub将这些更改发送到实时服务器.

两个主要分支,每个服务器一个.

所以我在"webroot/myliveapp /"上有一个分支"production",在"webroot/devapp /"上有另一个分支"development"

存储库应该在哪里?

更新:

我的意思是:

根据这个流程,我们将有:

  • 主要回购;

  • 裸露的回购中心;

  • 克隆;

开发和生产分支应该属于一个存储库,对吧?

如果这是正确的,那么我们应该发出FIRST git init命令吗?在我们的Prime回购?

所以我们将:

"webroot/myliveapp /" - 生产部门;

"webroot/devapp /" - 开发部门;

"webroot/.git" - Prime存储库;

这有意义吗?

或者Prime库是否应该与我们的生产分支机构位置相对应?

*注意:如果您需要有关我正在尝试实施的工作流程的上下文,请参阅:http: //joemaller.com/990/a-web-focused-git-workflow/

git-workflow

1
推荐指数
1
解决办法
2275
查看次数

如何运行'git pull'以使其始终有效,并且合并冲突会破坏我的更改?

我想从存储库中取出,我相信来自该存储库的任何更改集与我的相撞,是更好的选择.

我如何自动化拉动,这样我就不必处理任何合并冲突,而且我从中拉出的存储库总能赢得这场战斗?

看看命令行选项,我不确定git pull --squash我是否正在寻找,或者我是否必须采用某种合并策略.我无法弄清楚我会传递给谁

-s <strategy>
--strategy=<strategy>
Run Code Online (Sandbox Code Playgroud)

要么

-X <option>
--strategy-option=<option>
Run Code Online (Sandbox Code Playgroud)

如果这确实是我应该使用的标志之一.

git git-pull git-merge git-workflow

1
推荐指数
1
解决办法
107
查看次数

GIT 合并和 GIT 推送源之间的区别

我在一个团队工作,我们有一个名为 development 的分支。从这个分支我在自己的计算机上创建了另一个本地分支。当我在本地分支上时,运行命令“git merge development”有什么区别和我当地分支机构的“git push origin development”?

git 新手,每个团队都有自己的最佳工作流程理论。

git branch git-workflow

1
推荐指数
1
解决办法
2986
查看次数

Git如何检测工作流的类型:中央或非中心

Git-config中,您可以看到:

简单 - 在集中式工作流程中,像上游一样工作,如果上游分支的名称与本地分支不同,则会增加安全性以拒绝推送.

当推送到与您通常拉出的遥控器不同的遥控器时,请作为当前工作.

所以Git必须那样工作之间做出选择upstream或者current.但如何Git检测工作流程类型?是否Git觉得工作流程是centralized,如果明白我们想要一个沟通bare信息库?

git git-workflow

1
推荐指数
1
解决办法
90
查看次数

git-flow 在远程 git 服务器上推送未就绪的功能

我使用 git flow 方法,并且需要有关如何在远程 git 服务器上推送未就绪功能的建议。

默认情况下我们可以这样做(如果功能已经完成)

git checkout -b feature develop
Do something...
git commit -am "Message"
git checkout develop
git merge --no-ff feature
git push origin develop
git push origin feature
Run Code Online (Sandbox Code Playgroud)

如果我的功能尚未准备好,但我想将其推送到远程服务器上怎么办?

我尝试这样做:

 git checkout -b feature develop
 Do something...
 git commit -am "Message"
 git push origin feature
Run Code Online (Sandbox Code Playgroud)

但如果我看一下提交的图形方案,似乎开发和功能是同一个分支(但当然它们不一样)。

git git-workflow git-flow git-branch

1
推荐指数
1
解决办法
5351
查看次数

具有开源和专有(私有)部分的项目的 git 工作流程

免费和专业版的 Wordpress 插件。PRO 版本包含分散在代码库中的其他文件。

在 git 中跟踪两个版本的最佳策略是什么,满足以下约束:

  1. 免费版本在 GitHub 上开源,接受贡献;
  2. PRO 版本与私人存储库同步;
  3. 本地开发发生在 PRO 版本上(例如为了重构工作);
  4. 两个历史都是相关的(PRO的历史?免费)
  5. 低维护:
    1. 我们是 git noobs,
    2. 没有手动记账什么文件适合哪里。

有许多 Wordpress 插件遵循这种完全免费的与专业版的二分法。它们是如何版本化的?

git wordpress plugins git-workflow

1
推荐指数
1
解决办法
277
查看次数

如何避免与 Visual Studio Git 进行不必要的合并

目前我们的工作流程要求当我们想要提交到本地分支时,我们必须首先从远程分支获取和拉取,以便我们的本地分支更新。然后我们可以在本地进行提交,然后推送到远程。如果我们先提交到本地分支,然后从远程分支拉取更新,Visual Studio 将自动为我们提交合并,无论是否有冲突的更改。我们希望避免不必要的合并。

所以我的问题是,是否有选项或操作可以在 VS 中自动执行此操作?您单击的一个操作将首先从远程拉取,更新本地,然后提交,然后推回远程?现在我们正在手动执行所有三个操作,以避免 VS 生成不必要的合并提交。

VS 有一个选项“提交并同步所有”,其目的似乎是为了我们正在尝试做的事情,但事实并非如此。它只是先提交,然后进行拉和推,这仍然会产生不必要的合并。

git visual-studio team-explorer git-workflow azure-devops

1
推荐指数
1
解决办法
354
查看次数