为什么我们需要git合并?

为什么我们需要git合并?,git,Git,这似乎是一个愚蠢的问题,但我真的认为git如果没有这样的功能,可能会让我的生活更轻松。我建议的无合并git解决方案或我的比较目标如下: 使用git而不使用merge的人总是会使用一些ShowDifference工具来显示差异 在源分支和当前分支(可能是主分支)之间,并获取 将一个接一个的更改为其分支 我的理由如下: git merge不会自然地删除原来的分支DRAW(因为我提出的方法也不会) git merge会导致提交图混乱,同时只指示源分支为原始分支提供了一些贡献,LOSE(因为我的方法不会

这似乎是一个愚蠢的问题,但我真的认为git如果没有这样的功能,可能会让我的生活更轻松。我建议的无合并git解决方案或我的比较目标如下:

使用git而不使用merge的人总是会使用一些ShowDifference工具来显示差异 在源分支和当前分支(可能是主分支)之间,并获取 将一个接一个的更改为其分支

我的理由如下:

  • git merge不会自然地删除原来的分支DRAW(因为我提出的方法也不会)
  • git merge会导致提交图混乱,同时只指示源分支为原始分支提供了一些贡献,LOSE(因为我的方法不会在git提交图中显示合流,实际上我们可以手动告诉其他人此提交的贡献来自何处)
  • 当出现少量冲突时,使用DRAW(git merge会带来很多麻烦,因为必须发明智能合并;而我的方法不会比git merge更麻烦)

  • 任何评论都会有帮助

    well git merge是一个功能强大且必不可少的工具,它是任何版本控制软件的一部分。你如何使用它完全取决于你自己

  • 的确,分支不会自动删除,但这是有意的,不应该自动删除,因为记住版本控制软件应该做的是跟踪/记录软件开发过程中的更改和版本。即使在删除分支或还原时,您也不是在按话删除,您只是在删除指向提交的指针。想象一下,如果一个功能分支X被完全删除,然后您有一个合并到主节点的提交消息“merge branch X to master”,如果有新成员进来查看历史,他们会想知道X分支在哪里,这只会引起混乱和头痛

  • <>我不认为这是一个缺点,大多数时候你想知道哪个分支合并到主控点上,有助于跟踪bug并识别分支引入了什么。如果您的意思是,由于线的数量太多,图形可能会变得混乱,那么您可以使用其他方法来管理它,比如使用git-rebase等技术来创建一条整齐的线。我不明白你一个接一个地合并的意思,首先你应该尽可能经常地合并,如果你有一些自动测试,你可以很快看到你推送的东西是否通过了测试。如果你真的想一个接一个地合并,那么你可以一直使用cherry picking,git提供了几乎所有的东西

  • 冲突,除非你有多个人在项目的同一部分工作,否则你不应该遇到这个问题。但是,如果您确实遇到了麻烦,您有许多软件工具来解决冲突,然后将它们合并回分支,但是正如我前面所说的,除非两个或更多的人修改同一部分,否则不应该发生这种情况


  • 我很难理解你的“问题”

    如果“合并”对您没有用处,如何向主分支添加修改集

    如果我理解正确,您只会使用回扣来保留一个开发分支

    每次合并都以合并提交结束,合并提交可解决冲突并保持要素分支完整

    rebase不能简单地恢复为提交,并且将更少地跟踪功能。此外,如果存在冲突,则必须修改要素分支

    我通常和我的团队一起使用git流方法,所以它允许在mergin创建特性分支之前进行评论和CI。 此外,我经常在develope上重新设置我的功能分支的基础,以获得一些api的最新版本,并在我的功能分支中保留一个干净的git树,而不是mergindevelope

    总之,我认为合并不必是系统化的,但对于版本控制是必不可少的。 对于我所有的本地更改,我总是使用VSCode和gitGraph插件,这可以提高可读性和我的工作效率(请注意1和2)。对于所有的自动化或推送,我使用命令行。
    我不知道我是否回答了您的问题。

    值得一提的是,您将git merge与什么进行比较。SVN?Git rebase?还是怎样您甚至需要合并来自不同分支机构的哪些更改?看看您建议的解决方案是什么?你的编辑只是添加了一些词,表示你有一个,但我看不出是什么。