English 中文(简体)
工作流程:每个人都有分支机构,或者每个人都有主人?
原标题:git workflow: everyone has a branch, or everyone has a master?
  • 时间:2010-08-11 17:02:54
  •  标签:
  • git
  • workflow

在与多重人群合作时,工作做得更好。

  1. for everyone to just work in master, and merge between each other s masters, or
  2. for everyone to work in their own titled branch?

正如我所看到的那样,就(1)而言,尽管每个总经理都作为一个分支行事,但每个人的工作预计将与大部分线性流动结合起来,而(2),每个人都将共同主人并入their分支,并在准备就绪时将其分支部门转变为共同主人。

具有中型至大型团队经验的人能否发表评论? 贵团队的最佳工作是什么? 我猜测,第三种选择是,总是使用特有分支而不是人分行,尽管我从这个问题的角度来看,这基本上与(2)相同。

我认为,在(1)和(2)中,一人负责拉动“官方”主人。 如果一人以上推动接触正式主,这怎么办?

最佳回答

盖特的处名是存放地。 <代码>push和pull可加以配置,以便与遥远的存放处的相同名称相匹配,但这种任择行为。 如果你有一个中央存放处,你希望<代码>master就可确定。 哪些个人开发商将其工作部门称为其地方储存库,这确实是一个tas事。 有些人将拥有当地的<条码>。 这些机构是它们的工作部门,其他单位将使用一个单一名称的“发展中国家”部门。

如果你们的dev子站起来,那么,真正的野蛮方式是使用特征或专题分行,这样,你就有一个“Mike s work”分行,而“Mike s work”分行,可以推动和交换“汽车特征”分行,而没有每个人需要做先发回子。

问题回答

DVCS将该出版物介绍为othogonal aspects to Branching

这意味着家庭暴力和家庭暴力调查的分支有两种作用:

  1. the classic one: code isolation: you isolate the history (list of revisions) of a code in a branch
  2. the new one: publication: you repicate your commits from repos to repos.

Git allows for "private commits", ie you commit as much as you want (and then you can clean your history of commits).
If you do that in master, this is not good for publication: since master is the branch visible by default when a repo is cloned, anyone cloning your repo won t get a stable state, but a snapshot of a work in progress.

Private commits means: commit in branches that aren t published.
You can call those whatever you want.

任何将推向/停用的分支都不得在资源名称(如<编码>VonC_branch)之后打电话,但总是在特征或更为一般性的释放管理专题(如<编码> 公开<>/编码>、<编码>next、>>>>>> 发送V1、......]之后打电话。

私人部门与公共部门之间的区别是你在以下各方面承诺的历史:

  • as many commits you want in a private branch (you need just to assign the right comment to facilitate a future re-ordering through rebase --interactive with !fixup and !squash actions)
  • "consistent" commits in public branches (each commit is complete, represent a stable state that at least compile and can be tested, even if those test fail)
    A master branch for instance would have even stricter standard than that (like "the tests must pass)

因此,为了决定你将如何与Gite一道使用分支机构,你需要考虑出版方面的问题。

对于中型至大型团队,你最可能希望拥有中央存放处,设有“官方”<代码>master/code>。

另一种受欢迎的选择是,要有一个融合者,他基本上是开发商和中央集市之间的中间人。 你们如何决定这一点取决于你的团队所决定的最适当方法。 http://progit.org/book/ch5-1.html Proite book。

与一份共同文件一起,开发商个人倾向(和一些团队协议)是直接承诺到其地方<代码>master/code>,还是使用单独的<代码>dev。 我认为,在<代码>dev的分行中保持当地变化是一种更好的选择,但对用于集中管理SCM的开发商来说,这种变化略微繁琐。

单独的<代码>dev的惠益 分支部门通过在<条码>/代码>上运行<条码>git /条码>,更容易跟踪代码基中的新承诺。 清洁的主人总是在必要时检查最新的公共法典。 如果您的<代码>>pll与master的改动一起,将登在origin/master的分行上,加入您未发表的承诺。 这将在<代码>master中产生新的合并承诺,如果这些改动被推回master/code,则将明显可见。 或许这是你想要的,但能够使承诺的历史看上去。

缩略语 您可以轻而易举地根据<代码>master重新编制目录,以保持承诺的历史线。 如果没有<条码>dev/code>的分行,<条码>git 指示-rebase,<条码>/代码>将产生同样的效果,但很容易忘记这一步骤。

基本上,使用私人跟踪处(如dev)使开发商在如何接受公众对其地方分支机构的变动方面拥有更大的灵活性。 这还使集中的再播更加容易地避免过度合并。 唯一的不利之处是,这需要开发商作出一些额外努力,但从长远来看,这将加强最终利用香味。





相关问题
git confusion - cloning a repo is returning a past version

Im having some confusion with my git usage. I cloned a repo from one comp to the other, and the new clone is the state of the original that was active some time ago. So its cloning a past version. ...

Appropriate strategy for tagging and hotfixing with git

I was wondering if the strategy I m using for tagging and hotfixing tags (which then I use for deploying rails applications) with git is appropriate. For tagging I just tag a commit of the master ...

Tips on upgrading CVS to git/hg?

We still use CVS, I use git and hg for my personal use though I m still a novice at both, but I realize they re much more modern and better, faster, distributed, etc. It s just everyone is so ...

Using Git in a TFS shop

Using Git at home has spoiled me - I now find using TFS at work to be a bit of a drag and want to explore the possibility of using Git locally and syncing somehow with TFS. I figure there are a few ...

热门标签