Git “怎么做?”;“无分支合并”;工作

Git “怎么做?”;“无分支合并”;工作,git,git-branch,git-merge,branching-and-merging,Git,Git Branch,Git Merge,Branching And Merging,在这种情况下,合并始终在分支上执行: git merge <branch> git合并 然而,在我的新工作环境中,我遇到了一种实践,在这种实践中,开发人员从主控器(即,不是到他们自己的分支)拉动,但当他们推动他们的更改(在他们自己的主控器上执行)时,他们将更改推到另一个“主控器”(实际上是“个人分支”)。然后,CI系统尝试将该“个人分支”与主(远程存储库)合并 我知道这是可行的,因为团队已经像这样工作了很多年。但是从git本身的角度来看,这样的东西是如何工作的呢?它是否符合预期的

在这种情况下,合并始终在分支上执行:

git merge <branch>
git合并
然而,在我的新工作环境中,我遇到了一种实践,在这种实践中,开发人员从主控器(即,不是到他们自己的分支)拉动,但当他们推动他们的更改(在他们自己的主控器上执行)时,他们将更改推到另一个“主控器”(实际上是“个人分支”)。然后,CI系统尝试将该“个人分支”与主(远程存储库)合并

我知道这是可行的,因为团队已经像这样工作了很多年。但是从
git
本身的角度来看,这样的东西是如何工作的呢?它是否符合预期的git概念

还是违反了一些基本原则

我知道这是可行的,因为团队已经像这样工作了很多年。但是从git本身的角度来看,这样的东西是如何工作的
...

然后,CI系统尝试将该“个人分支”与主分支合并 (远程存储库)

如果不指定分支git,请使用当前分支作为合并的“第二个”分支名称,在git中可以为合并编写任意数量的分支

git merge A B C  ... N
git将根据分支的数量选择适当的合并策略


然而,在我的新工作环境中,我遇到了这样一种做法:开发人员
从主程序中拉出
(即不到他们自己的分支),但当他们
推送他们的更改(在他们自己的主程序上执行)时,他们将更改推到另一个“主程序”(实际上是“个人分支”)

然后,CI系统尝试将该“个人分支”与主(远程存储库)合并

这种方式没有什么错。Git就像一头未经训练的野兽。你可以用任何你喜欢的方式“训练”,只要你擅长


因此,如果这种方式适合您的IT/devops团队,那么它就没有问题。

git的酷之处在于,基本上没有规则,因此也没有违反规则的情况。@MadPhysician每一个优秀的系统都可以以一种非预期的方式来做事情。我试图理解git如何合并一个非分支(即master和master?),我认为您关于如何合并的问题是一个非常好的问题(因此是upvote)。git的问题是,它的设计目的是以作者不希望的方式使用,可以这么说。从git的角度来看,任何适合团队的工作,就像您描述的cleary所做的那样,都被认为是合适的用法。在我看来,你问题的这一部分是高度基于观点的。另外,请对代码向导的答案进行投票。@MadPhysician谢谢。我希望我能对我接受的答案投赞成票。我想我至少需要15个声望才能投票。谢谢你的解释。这就是我在使用git.Np的基本经验中需要澄清的事情,我在这里回答您可能遇到的任何其他问题。