git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: "'Roman Gelfand'" <rgelfand2@gmail.com>, <git@vger.kernel.org>
Subject: RE: GIT Branch Maintenance
Date: Tue, 5 May 2020 19:10:44 -0400	[thread overview]
Message-ID: <05fc01d62332$6b511060$41f33120$@nexbridge.com> (raw)
In-Reply-To: <CAJbW+rmN=QPDm0myka1=iOpvzqe2kN-yk8GisdH2VDLRc1ReHw@mail.gmail.com>

On May 5, 2020 6:21 PM, Roman Gelfand Wrote:
> Subject: GIT Branch Maintenance
> I am in a process of designing a git strategy for our vs solution.
> The vs solution is a legacy asp .net webforms app which is enormous.
> CI is out of the question because of cumbersome db source  setup.  So, we
> are pretty much relying on integration testing.  We have roughly 6 people on
> development team.  Each of developers are assigned separate feature.
> Sometimes, a feature spans several releases.
> 
> Here are the branches:
> Master - source that made it to prod
> Feature - checked out from master Head.  The Head represents previous
> release.
> QA - synchronized with master at the beginning of release development.
> Upon completion, each active Feature branch is merged into QA.
> Bugfix - in case of bug in current development, QA branch is checked out to
> bugfix branch.  Upon completion, it is merged back into QA branch.
> 
> Over time these master and qa branches will be enormous.  How do I keep it
> concise preserving detailed history in case I need to hunt down a specific
> commit?

Answering a question with questions:

1. Have you looked up the GitFlow process, or perhaps in your case the GitLabFlow? The rest of the answer depends on this.

2. What enterprise git server are you using? GitHub, GitLab, BitBucket? You should consider one of those (no affiliation with any). My company uses all three brands of enterprise servers. Don't ask why - it's a very long discussion.

3. This is not a question: Look up merge --squash. You should consider using squashed merges going into master. If sequencing your features to multiple releases independently is important, then using a Pull Request (Merge Request in GitLab) is going to be important to you to pull in a change branch into a release.

However, I would consider distinct release branches and feature branches (or topic branches). They are sequenced independently, from what you wrote, and I don't think Feature means exactly what you intend. It is more like the development HEAD where developers get their starting point - this may be your default branch, whatever you call it. Each feature  would have its own branch rather than "Feature". So it BitBucket's GitFlow implementation, a branch would be like "feature/1234-topic-being-worked-on". You may not need your QA branch. Your definition of master may require some thought. It may actually represent the current prod release in general use (assuming multiple prod environments) rather than one "prod", somewhat like definitive prod, which is approximately what we use for the latest main release rather than just what made it to prod.

Regards,
Randall



      reply	other threads:[~2020-05-05 23:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-05 22:21 GIT Branch Maintenance Roman Gelfand
2020-05-05 23:10 ` Randall S. Becker [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='05fc01d62332$6b511060$41f33120$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=git@vger.kernel.org \
    --cc=rgelfand2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).