Skip to main content
33 votes
Accepted

What is a non-merge commit?

If you're working in a feature branch, that branch might have a significant lifespan. By that I mean that the originating branch (master or develop usually) receives many commits while the feature ...
Flater's user avatar
  • 52.5k
26 votes
Accepted

Why popular repositories use release version as a "Release title" in GitHub?

How to manage release with Git and GitHub ? The Git standard way of identifying a release is to create a version tag. This tag marks a specific version of your software in the change history of your ...
Christophe's user avatar
  • 78.4k
18 votes
Accepted

Semantic versioning with bugfixes and new features in the same release

Assuming that the new features are backward compatible, you should increment the MINOR version number, an reset the PATCH level, . Rationale: semver 2.0.0 makes this crystal clear in clause 7: ...
Christophe's user avatar
  • 78.4k
17 votes

Agile stabilization and release management

You should not have stabilization sprints. Your software should be releasable every sprint. This means that if you need stabilization, that has to happen within each sprint and not just before a ...
Sklivvz's user avatar
  • 5,240
17 votes

How to do efficient code review during release fever?

The answer here is to communicate. Tell the technical/team lead about the issue Talk to QA about the potential impact Tell project management (who is right behind you) that there might be an issue ...
Greg Burghardt's user avatar
13 votes
Accepted

How to modify workflow to allow multiple features per release?

Answering your questions below: Would the above proposed workflow be considered a standard workflow? There isn't a strict "standard" workflow that everyone adheres to, but your workflow is ...
Jimmy Kurian's user avatar
12 votes
Accepted

Is it unusual for developers to have difficulty building their own code?

If I were in your shoes, I would take this as a chance to improve the build scripts so they can provide more detailed information about what exactly is failing, so finding the root cause should be a ...
Doc Brown's user avatar
  • 209k
10 votes
Accepted

Release notes for first version

Release notes (changelogs) are primarily used to notify users of changes between versions. Perhaps a new useful feature is available, or an old feature was deprecated. The first released version has ...
amon's user avatar
  • 135k
10 votes
Accepted

What is the difference between software deployment and software release?

I don't think the terms release" and "deployment mean exactly the same, thing I'm not sure they should be used interchangeably like that. From a web development perspective: Deployment refers to ...
FrustratedWithFormsDesigner's user avatar
9 votes

How to deal with a project with long intervals between new development?

Even if you are working continuously on a project, unless the project is tiny, you'll have to switch between features, some of which you haven't modified for months or years. And if you work in a ...
Arseni Mourzenko's user avatar
9 votes

Git branches: Merging issues while having multiple release branches

The thing to remember is that merging a fix also merges all its ancestors, so if you want to keep code in 2.0 out of 1.0, your merges should always go from 1.0 to 2.0, and never the other way around. ...
Karl Bielefeldt's user avatar
8 votes

Is it unusual for developers to have difficulty building their own code?

For new developers, you should have a document, hopefully less than one page, with complete instructions how to set up their computer to create a build that they can run and try out. (Obviously this ...
gnasher729's user avatar
  • 45.9k
8 votes

How to do efficient code review during release fever?

Don’t just communicate the problem, document it My big concern with the other answers so far: Anything you say along these lines to the typical project manager facing an imminent deadline is likely to ...
Tim Grant's user avatar
  • 1,360
8 votes
Accepted

Should release branches ever be merged to master

How Long should these branches kept for ? The first answer that pops in my mind here is : Why are you creating release branch in the first place ? If you are aiming to be able to provide support to ...
Newtopian's user avatar
  • 7,201
8 votes

What is a non-merge commit?

In git each commit is a specific version of the code, and it includes information about which previous version(s) it was based on - those commits are known as its parents. A merge commit is a commit ...
bdsl's user avatar
  • 3,399
8 votes
Accepted

When creating a fix, how does branching off the release candidate branch compare with cherry-picking from master?

The Git-Flow branching strategy enables you to keep one or more software versions around on their own branches for support purposes. For example, you could be developing a future 15.0 release on the ...
amon's user avatar
  • 135k
8 votes
Accepted

Releasing a project for multiple languages and package managers

It doesn't really matter which approach you choose. Both using a monorepo and separate repos are reasonably common approaches. Keeping all variants in a single repository is definitely simpler to ...
amon's user avatar
  • 135k
7 votes

Semantic versioning for desktop applications

Old post, but I was looking for a solution and stumbled upon this article of Brett Uglow (permalink) which is the best thing I have ever read about versioning applications which will be delivered ...
ferit's user avatar
  • 193
7 votes

Is it unusual for developers to have difficulty building their own code?

The core issue probably isn't inexperience setting up a dev environment. It's more likely to be that setting up a dev environment is a manual process at all. I've worked somewhere that had pages of ...
Jon Chesterfield's user avatar
7 votes

How to do efficient code review during release fever?

In this case, just inform everyone and let them decide. It's probably not the first bug you're released. The deadline is tomorrow, but you find yourself in this situation: project manager is ...
JeffO's user avatar
  • 36.8k
7 votes
Accepted

Put source code for dependencies within the project itself

Yes, this is called bundling. It has known weaknesses (for instance, you don't get security updates or bugfixes for the third-party library unless you re-import their sources, and it is probably more ...
Kilian Foth's user avatar
7 votes

What is a predictable versioning strategy for a monorepo using semver?

Perhaps a more manageable solution is a Changelog. If your publishing components anyway, there should be a changelog. I'm not talking about checkin comments. I'm talking about a version controlled ...
Kain0_0's user avatar
  • 16.2k
7 votes

Applying hotfix to intermediate commit on master

You are actually asking how to manage multiple productive versions. Gitflow does not cover this and it's a complicated topic. You can have a branch per supported version, e.g. version/1.9.0, and do a ...
marstato's user avatar
  • 4,628
7 votes

Git branches: Merging issues while having multiple release branches

Unfortunately you can't do this with branching. In fact you should not be doing those red line merges at all. As soon as you decide that the release X is not going to be getting updates from master ...
Ewan's user avatar
  • 77k
7 votes

Separating the concepts of deployment and release — benefits for enterprise apps

It is absolutely correct to consider whether "best practices" and similar advice are even applicable in your situations. For example, lots of design patterns and principles make a lot of ...
amon's user avatar
  • 135k
6 votes

How do you handle releases effectively without wasting too much time? Work environment is Eclipse, Java, Subversion

OK, I'm not upto date on your stack, but in my experience once you start talking about doing releases and reliability you are looking at days if not weeks of QA and release management. The 30min of ...
Ewan's user avatar
  • 77k
6 votes

How to convert the last rc (or other pre-release) into the production version using semver?

First: You dont need to remove the pre-release version. That this very specific revision was a pre-release is a historical fact and i see no good reason to hide that. Second: just add the release tag ...
marstato's user avatar
  • 4,628
6 votes

Why popular repositories use release version as a "Release title" in GitHub?

This is a larger screenshot of the actual page you found. Notice that it says Docker/Toolbox in the upper left hand corner of the page, so you already know what this page is about. The title of ...
Robert Harvey's user avatar
6 votes
Accepted

Managing releases (binaries and othert build artifacts) using Git

Git is not a deployment mechanism. It is a distributed source control tool. You are creatively using the “distributed” part to manage and deploy your artefacts, but that is not playing to Git's ...
amon's user avatar
  • 135k
6 votes

Release strategy for multiple Git feature branches being tested simultaneously

Test features separately and in order, that's really the best way to do it. Usually whichever one is done first gets tested first, but business needs could change that priority. When FeatureA is ...
mmathis's user avatar
  • 5,488

Only top scored, non community-wiki answers of a minimum length are eligible