相关疑难解决方法(0)

你什么时候使用git rebase而不是git merge?

什么时候建议使用git rebasevs. git merge

成功改造后我还需要合并吗?

git version-control git-merge git-rebase

1461
推荐指数
15
解决办法
36万
查看次数

如何在Git中合并特定的提交

我从GitHub中的一个存储库中分叉了一个分支,并为我提交了一些特定的东西.现在我发现原始存储库有一个很好的功能HEAD.

我想在没有事先提交的情况下合并它.我该怎么办?我知道如何合并所有提交:

git branch -b a-good-feature
git pull repository master
git checkout master
git merge a-good-feature
git commit -a
git push
Run Code Online (Sandbox Code Playgroud)

git merge

964
推荐指数
9
解决办法
69万
查看次数

在Git中从master转换为分支

在我的存储库中,我有一个aq我正在研究的分支.

然后,我承诺了新的工作和错误master.

将这些提交纳入aq分支的最佳方法是什么?创建另一个新分支master并将其合并aq

git version-control git-merge

633
推荐指数
11
解决办法
56万
查看次数

git branch,fork,fetch,merge,rebase和clone,有什么区别?

有人可以帮我理解Git中分支,分支和克隆之间的区别吗?

同样,当我做一个git fetch而不是一个时,它意味着什么git pull

另外,rebase与之相比,意味着什么merge呢?

我怎样才能将各个提交自己压缩在一起?

他们是如何使用的,为什么使用它们以及它们代表什么?

GitHub如何计算?

git branch clone git-clone gitx

495
推荐指数
5
解决办法
16万
查看次数

Git分支策略与测试/ QA流程集成在一起

我们的开发团队一直在使用GitFlow分支策略,它一直很棒!

最近我们招募了一些测试人员来提高我们的软件质量.这个想法是每个功能都应该由测试人员测试/ QA.

过去,开发人员在单独的功能分支上处理功能,并develop在完成后将它们合并回分支.开发人员将在该feature分支上自行测试他的工作.现在有了测试人员,我们开始问这个问题

测试人员应该在哪个分支上测试新功能?

显然,有两种选择:

  • 在个别功能分支上
  • develop树枝上

测试开发分支

最初,我们相信这是肯定的方法,因为:

  • develop自开发开始以来,该功能已与所有其他功能合并到分支进行测试.
  • 任何冲突都可以在以后检测到
  • 它使测试人员的工作变得轻松,他只是在处理一个分支(develop).他不需要向开发人员询问哪个分支是针对哪个功能的(功能分支是由相关开发人员独立管理的个人分支)

最大的问题是:

  • develop分支被污染与臭虫.

    当测试人员发现错误或冲突时,他会将它们报告给开发人员,开发人员会在开发分支上修复问题(功能分支在合并后被放弃),之后可能需要更多修复.多个子序列提交或合并(如果develop再次在分支上重新创建分支以修复错误),develop如果可能的话,从分支回滚功能非常困难.develop在不同时间有多个功能合并到分支并在其上固定.当我们想要创建仅包含develop分支中某些功能的版本时,这会产生一个大问题

功能分支测试

所以我们再次思考并决定我们应该在功能分支上测试功能.在我们测试之前,我们将更改从develop分支合并到功能分支(赶上develop分支).这很好:

  • 您仍然可以使用主流中的其他功能测试该功能
  • 进一步的开发(例如错误修复,解决冲突)不会污染develop分支;
  • 在完全测试和批准之前,您可以轻松决定不发布该功能;

但是,存在一些缺点

  • 测试人员必须合并代码,如果有任何冲突(非常可能),他必须向开发人员寻求帮助.我们的测试人员专门从事测试,无法编码.
  • 可以在不存在其他新功能的情况下测试功能.例如,特征A和B同时都在测试中,这两个特征彼此不知道,因为它们都没有合并到develop分支.这意味着,develop无论如何,当两个功能都合并到开发分支时,您将不得不再次测试分支.你必须记得将来测试这个.
  • 如果功能A和B都经过测试和批准,但在合并时发现冲突,两个功能的开发人员都认为这不是他自己的错误/工作,因为他的功能分支超过了测试.沟通会产生额外的开销,有时解决冲突的人会感到沮丧.

以上是我们的故事.由于资源有限,我想避免在所有地方进行测试.我们仍在寻找更好的方法来应对这种情况.我很想知道其他团队如何应对这种情况.

git testing qa git-flow

120
推荐指数
4
解决办法
3万
查看次数

Git:从另一个分支获取更改

我在git下有一个项目.我想开始一个新的分支来添加一个主要的新功能.在主分支下,我将继续添加错误修复和次要功能.我定期将主要分支的变化拉到我的"主要新功能"分支.最好的方法是什么?最终,我将"主要新功能"分支合并到主分支中.

git

80
推荐指数
2
解决办法
9万
查看次数

Android Studio更新项目:Merge vs Rebase vs Branch Default

抱歉,如果这看起来多余,因为我知道有很多关于Merge和Rebase的问题,但似乎也没有任何关于'Branch Default'的问题.

您将获得一个案例,您可以同时处理多个人(即Android Studio中的Android应用程序).如果有人推送到主分支并且您想要引入新主服务器以便它不会覆盖您仍在处理并且尚未提交并推送到主服务器的工作,那么更新项目/拉动的最佳选项是什么?单击"更新项目"时,Android Studio会列出"合并""重新生成"和"分支默认".听起来,我想做'Rebase'(接着'合并'?),但我不完全确定.

git android git-merge android-studio

59
推荐指数
3
解决办法
5万
查看次数

Git rebase失去了历史,然后为什么会变质呢?

在过去的几天里,我一直在考虑与Git进行变革.反驳的大多数论据都说它清理历史并使其更加线性.如果您进行简单合并(例如),您将获得一个历史记录,显示历史记录何时分歧以及何时将其重新组合在一起.据我所知,rebasing删除了所有历史记录.问题是:为什么你不希望回购历史反映代码开发的所有方式,包括它在哪里以及如何分歧?

git version-control git-merge git-rebase

47
推荐指数
3
解决办法
1万
查看次数

git发布管理

我找不到任何使用git管理版本的"正确"方法.说,我有master,release-1,release-2和release-3分支.版本1已经发布,我只对其进行了错误修正和发布版本标记.第2版​​将很快发布,我主要在这个分支上发展,而在3年我开发了将来需要的东西.

  1. 当我在release-2上添加一些功能时,它也应该转到3,但不是1,我应该:

    • 合并release-2到master-cherry-pick功能相关提交到release-3?
    • 樱桃挑选功能相关提交掌握,而不是樱桃挑选它发布-3?
    • 还是吗?
  2. 当我需要在所有版本中进行更改时,我是否应该在master上进行更改并将其挑选到所有分支中?

  3. 我是否应该掌握最新的(第3版分支)或者第3版的开发人员,并在我需要发布4分支之前合并到主服务器?

  4. 当我在发行版1或版本2上修复时,我应该合并或者选择它来掌握或者说它?

我不太确定我什么时候应该挑选,什么时候应该合并,如果分支之间的代码流正确的话.

git release

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

在Git合并冲突之后,我没有触及的很多文件都会变为提交

所以我在一个分支机构工作,进行一些更改,然后运行git merge master.我得到我修改过的文件(我知道如何处理)的一个合并冲突,但由于某些原因,一堆文件我根本碰(但在主得到更新)突然进入我的"更改列表承诺".

为什么是这样?我该如何解决这个问题?我不希望任何这些不通过我的更改得到承诺.

git merge

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