标签: git-flow

推送后,为什么远程删除的分支没有删除?

我正在使用git-flow它的作用是它feature/abc每当我删除我的分支:

git flow feature abc finish
Run Code Online (Sandbox Code Playgroud)

它与feature/abc分支合并后删除develop分支.之后,我推动我的develop分支.

git push origin develop
Run Code Online (Sandbox Code Playgroud)

现在,在遥控器上,我能够看到feature/abc分支,但不能在本地看到.那么,这是否意味着它从本地仓库删除,并且删除没有被带到远程?

在我的理解中:

  • 由于git是分布式的,因此所有机器上都存在整个存储库.
  • 所以,如果我对我的本地仓库进行更改并将其推送到远程.
  • 然后,我的所有更改都应该推送到远程,包括删除.

冲突:

  • 推送后本地和远程git repo如何不同.

=>假设我是代码的唯一开发人员.

更新

我的问题是我在合并后本地删除了分支.然后我推动了我合并的分支,然后为什么没有反映在遥控器上?因为,GIT是DVCS,在推/拉时应该是相同的.[考虑到我是唯一的开发者]

我没有要求创建它.它使分支进行了我的更改,将其合并,然后删除了分支并推送了我更新的开发分支.那么,如果它自动检测到那些分支的创建那么为什么不删除呢?

git version-control branch dvcs git-flow

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

还原合并Git-Flow

我正在使用SourceTree和Git-Flow模式.现在我准备了一个版本供我的测试人员测试,所以我创建了一个新的release/v1.0.1分支.但我的脑海里滑落,我决定完成(合并成developmaster和标签)的释放,即使我还没有发出去释放我的测试.所以我想让发布分支再次打开,如果我的测试人员发现任何错误我可以在发布分支中修复这些错误,然后当所有错误得到修复后我就可以完成发布.

那么我怎样才能轻松地使用SourceTree(或使用git命令)恢复到我拥有release/v1.0.1分支时的状态?

来自SourceTree的附加screendump:

在此输入图像描述

编辑:好吧,我做了git reset --hard HEAD~2develop(HEAD〜2),因为我已经测试了手动检查.但是现在当我结账master并做了一件git reflog似乎我应该在HEAD~6上重置

Peters-MacBook-Pro:Remessage peterwarbo$ git reflog
f7663b1 HEAD@{0}: checkout: moving from develop to master
3d132da HEAD@{1}: reset: moving to HEAD~2
2f1c753 HEAD@{2}: checkout: moving from master to develop
f7663b1 HEAD@{3}: checkout: moving from develop to master
2f1c753 HEAD@{4}: merge release/v1.0.1: Merge made by the 'recursive' strategy.
4332fe4 HEAD@{5}: checkout: moving from master to develop
f7663b1 HEAD@{6}: merge …
Run Code Online (Sandbox Code Playgroud)

git git-flow

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

Git流程跟踪 - 已经存在

我正在学习GIT(使用Git Flow),我知道使用StackOverflow代替书本不好.

我参与了一个项目.由G1和G2组维护的有两个名为F1和F2的特征分支.假设F1依赖于F2并且G1 published使用其分支git flow feature publish F1.

现在G2需要跟踪F1,并且可能会不时在F1之上重新进行基础测试.为此,我需要使用红色git flow track

所以我(G2)使用了这样的东西

git flow feature checkout F2
git flow feature track F1
Run Code Online (Sandbox Code Playgroud)

但是Git说的如下:

Branch 'feature/F1' already exists. Pick another name.
Run Code Online (Sandbox Code Playgroud)

然后我尝试了一个没有的名字,希望它会在某个时候问我需要跟踪的分支.但后来我收到了这条消息.

git flow feature track F1_track
Branch 'origin/feature/F1_track' does not exist and is required.
Run Code Online (Sandbox Code Playgroud)

我做些傻事吗?这可能是我安装的问题吗?

我相信你明白我想做什么,请你在这个问题上帮助我.

git git-flow

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

防止某些提交/代码合并到主服务器

对于我正在进行的项目,我们决定开发一个工具来帮助开发,因此这不应该在生产中.
所以我想知道,因为git非常棒,如果有一个功能可以阻止某些文件(是的,只有文件:这是一个Magento项目,我们要开发的工具将在他自己的模块中,没有交集应用程序的其余部分)将合并为master,但应该在其他分支中可用.
我们正在考虑使用git-flow,如果这有帮助的话.所以我们将拥有主人,我们将从中创建开发,从中创建我们所有的功能分支.我们的想法是让这个模块开发,但永远不会合并回主人.

我现在在想,只是在主分支中忽略那些文件(.gitignore),这会有用吗?

编辑1:项目结构
我觉得我必须提供有关项目结构的更多信息,它来了:

+ main_folder/
    + magento/
    |---+ app/
    |   |--+ code/
    |   |  |--+ community/
    |   |  |--+ core/
    |   |  |--+ local/
    |   |     |--+ Namespace1/
    |   |        |--+ Module1/
    |   |        |--+ Module2/
    |   |     |--+ Namespace2/
    |   |        |--+ Module1/
    |   |        |--+ Module2/
    |   |--+ design/
    |   |  |--+ frontend/
    |   |     |--+ default/
    |   |        |--+ default/
    |   |           |--+ layout/
    |   |           |--+ template/
    |   + …
Run Code Online (Sandbox Code Playgroud)

git merge magento git-merge git-flow

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

远程功能分支未被删除

我在使用git-flow时遇到了问题.不确定这是否是预期的行为所以请为我澄清一下.

我在Bitbucket中创建一个空的repo并将其克隆到我的本地机器上.然后我在repo中创建一个Xcode项目(我做iOS开发),提交它并将其推送到Bitbucket.

然后我继续并初始化我的本地仓库以使用git flow.我顺便使用SourceTree.然后我创建了一个新的功能分支,我们称之为FirstFeature.我将一些文件添加到项目中并再次推送它.现在我的远程仓库中有3个分支:master,develop和FirstFeature.

然后我再次处理该项目并完成该功能.FirstFeature分支被删除并与本地开发合并.然后我继续把它推到Bitbucket.我认为自从FirstFeature的本地分支被删除后,当我推送新的更改时它会被删除,但显然不是.我的Bitbucket回购中仍然存在FirstFeature分支.

这是预期的行为还是我需要做一些额外的事情来取消这些行为?

谢谢.

git bitbucket branching-and-merging git-flow atlassian-sourcetree

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

你如何在"独奏开发"中使用git(没有团队)?

我是小型项目的自由职业者,所有这些都是我独自完成的,没有团队.

我试着使用Git Flow.起初,一切都很好.有功能分支,有意义描述的小提交,合并.

但是这个过程总是以非常大的提交结束,直接到主分支,描述如"大更新","一些更新".

你如何解决?在我的情况下我是否需要Git Flow?

git workflow development-environment git-flow

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

Git流程:在完成功能之前,我可以多次发布一个功能吗?

我开始使用git flow了.我创建了一个功能:

git flow feature start eval
Run Code Online (Sandbox Code Playgroud)

然后我做了一些工作并添加并提交了更改:

git add (files)
git commit -m "(description of commit)"
Run Code Online (Sandbox Code Playgroud)

我还没有完成这个功能,但是想把它推到外部仓库以支持它的夜晚:

git flow feature publish eval
Run Code Online (Sandbox Code Playgroud)

好的,到目前为止没问题.现在我再次工作,我想对外部仓库进行一些新的更改,但我仍在研究这个功能.但是当我跑步的时候

git add (new files)
git commit -m "(description 2)"
git flow feature publish eval
Run Code Online (Sandbox Code Playgroud)

它返回

Branch 'origin/feature/eval' already exists. Pick another name.
Run Code Online (Sandbox Code Playgroud)

但我的分支是feature/eval,所以如果我传递另一个分支名称git flow feature publish <name>,它将引发错误.

总而言之,我的问题是 - 当我处于某个功能的中间(未准备好完成)时,如何推送多个提交?我可以运行类似的东西git push origin feature/eval吗?

git git-flow

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

Git分支模型策略

我们正在尝试遵循gitflow分支模型,但有一个转折点.

我们有四个可以部署产品的服务器环境,每个服务器都有一个目的:开发,内部测试,外部测试和生产.

  • DevServer,开发人员在开发时测试他们的不同功能.开发人员无法在他们的计算机上进行本地测试,他们必须在DevServer上进行更改才能进行测试
  • TestServer,一旦开发人员完成,QA测试人员就会测试多个功能
  • ReleaseServer,在将版本移至生产环境之前对其进行单独测试
  • ProductionServer.生产服务器

我们试图尽可能简化合并/冲突解决方案,因此我们创建了两个不属于gitflow模型的额外分支.

正常的gitflow分支

  • 开发
  • master(匹配'ProductionServer')
  • featureXXX
  • releaseXXX(每周版本部署到'ReleaseServer')

但这两个分支也不标准,可能需要改变......

  • dev-release(DevServer的副本)
  • 测试版(TestServer的副本)

然后过程如下:

  • 开发人员从'develop'创建'featureXXX'
  • 多个开发人员将他们不同的"功能"合并到"dev-release"分支中,并且"dev-release"分支被发布到"DevServer",然后所有开发人员都可以测试他们的不同功能.并非所有这些功能都将在下一个版本中
  • 一旦开发人员对上面的开发测试感到满意,他们就将'featureXXX'合并到分支'test-release'中,并将其部署到'TestServer'.并非所有功能都属于同一个下一个版本.
  • 一旦对featureXXX进行'TestServer'测试,开发人员就可以将他们的featureXXX关闭为'develop'.
  • 开发人员然后创建一个新的'releaseXXX'或将他们的'featureXXX'合并到现有的'releaseXXX'中.
  • 'releaseXXX'分支部署到'ReleaseServer'并进行测试.
  • 一旦'releaseXXX'测试签署,'releaseXXX'将合并到develop和master中,并部署到'ProductionServer'

我们搞乱了整个gitflow模型吗?

这是我们的分支流程: 在此输入图像描述

git branching-and-merging git-flow branching-strategy

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

SourceTree:如何使用Git Flow创建多个修补程序分支

如何在已存在的情况下在Sourcetree中创建第二个修补程序分支?每当我尝试它时,它会告诉我先完成当前的修补程序.有多个修补程序分支的方法吗?

git hotfix git-flow atlassian-sourcetree

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

在Azure DevOps中使用GitFlow(是否意味着多个管道?)

我们的开发团队希望通过使用类似GitFlow的分支系统来分支(恶作剧),其中将存在一个dev,uat和release分支(都需要从中构建),我看不到使用相同管道进行转换的巧妙方法部署不同的分支机构,有人可以让我知道最好的方法吗?它是否为每个需要的分支创建了多个管道?

git build git-flow azure-devops

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