gitflow
release-please
Our great sponsors
gitflow | release-please | |
---|---|---|
113 | 35 | |
26,103 | 2,058 | |
- | 8.2% | |
0.0 | 9.6 | |
3 months ago | 2 days ago | |
Shell | TypeScript | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gitflow
-
What "new-to-you" tool did you recently start using that just changed your workflow for the better?
For us it was git-flow (https://github.com/nvie/gitflow). A straightforward yet effective way to impress momentum in the use of basic strategies: master branch is for production, feature/... for developing new stuff, devel(op) branch for preparing next release (merging feature and hotfixes), release/... for release candidates, hotfix/... for zero-day or fixes on production... Absolutely nothing new, absolutely easy to do.
-
Ask HN: What made you finally grok Git?
As a beginner - each of stash, branch, staged and remote is just a swimlane, kinda like illustration here: https://nvie.com/posts/a-successful-git-branching-model/ but can't remember where did I read it initially
- Learning git as a beginner
-
Does this look like a OK git flow for small team for manual deployment without CI/CD tools? (more in comments)
Another thing that other suggested me in the comments is to use trunk-based development, which from what I understand is to only create branches directly from master, for anything you do: bugfix, hotfix, feature. Keep them short-lived, then merge back to master. It also sounds like a good idea for me (I've been getting so many options in this short time and overwhelming). Do you think trunk based development is also a good idea? It soudns similar to what GitHub suggests (GitHub Flow: https://docs.github.com/en/get-started/quickstart/github-flow), and even the guy I first got the idea of the drawing above, suggested to use something like GitFlow: https://nvie.com/posts/a-successful-git-branching-model/
Please, also consider that the GitFlow's owner himself nowadays discourages teams from using GitFlow, as he commented in his web page https://nvie.com/posts/a-successful-git-branching-model/
-
How well do you need to know git?
if you can perform all steps described in this doc (which is similar to what most companies do), you are good: https://nvie.com/posts/a-successful-git-branching-model/
-
Be effective with Bitrise CI for Android — the lessons I learned the hard way.
There is git flow approach in place, which usually means multiple feature *branches exist at the same time in a remote repository. There is at least one *pull request per story. Each pull request needs to go through an integration* process* meaning the newest commit in a pull request triggers a fresh CI build. That’s being done in order to ensure the newest change won’t introduce any flaws. Yep, automation and unit test suites test each software incrementation. Software Engineers in Test (SET) writes automation tests as “a part of“ the feature in some cases.
-
Managing Embedded SW revs?
This is more easier version of that: https://nvie.com/posts/a-successful-git-branching-model/
Under Linux I use gitflow and gitversion. The former helps me with branch and tags management, the latter keep tracks of the semantic version in a semi-automatic fashion (given a branch/commit/tag it generate a semver automatically based on the repo log). Gitflow should be supported by GUI tools too, but I'm more a CLI guy.
-
Well-Architected Framework Review - Part III reliability
Manage change in automation: Changes to your infrastructure should be made using automation and IaC Tool, such as CDK or terraform. The changes that need to be managed include changes to the automation, which then can be tracked and reviewed, for example, in a VCS such as git and services such as GitHub with a branching model, such as git-flow.
release-please
-
Tools for Semantic Versioning
Conventional Commits is a method of writing commit messages that is also machine-readable. The goal is to make it easier to automate the release process, generate changelogs, etc.
-
This is how you want to manage your Terraform modules
I think Release Please (https://github.com/googleapis/release-please) could augment this solution a bit... It can increment version numbers per module in your monorepo and write them into a changelog. It uses conventional commit messages (https://www.conventionalcommits.org/en/v1.0.0/) to decide whats a major / minor / patch change.
-
Is goreleaser still the way to deploy a binary to all common platforms?
Personally I tend to use goreleaser together with release-please and conventional commits. This gives me an automated PR which is updated when the main branch changes. It includes a version bump and changelog update based on the changes since the last release. To cut a new release, I simply merge the PR.
-
Product development guide #1
Commits in the git should follow the style https://www.conventionalcommits.org
-
Why we stopped using Lerna for monorepos
We are using dlx since our changelog was generated by the rules of Conventional Commits. If you don't need it, do this:
-
Need Help - Finding a GitLab versioning solution for Monorepos
https://www.npmjs.com/package/standard-version (showing as deprecated and recommends below link) https://github.com/googleapis/release-please
-
Communicate Risk with Git Commits
Yes, our team loves conventional commits, but found that they do not communicate risk
-
Does anyone know what I mean?
(Generally speaking my commit messages are at least partially inspired by https://www.conventionalcommits.org/.)
-
Git "autofixup"
Because I'm really convinced that atomic commits are one of the key to projects quality and automation (see Conventional Commit and Semantic Release for example), I do my best to correct these commits using Git rebase.
-
How to create a Python package in 2022
To that end, I've had good success with `replease-please`: https://github.com/googleapis/release-please . It's available as a GitHub Action and works out of the box very easily. It does tagging, publishing, editing the CHANGELOG, creating a release and more. Whatever you want it to, really, using a bool flag in the CI pipeline that triggers after a release-please release was made aka merged into main.
What are some alternatives?
argocd-example-apps - Example Apps to Demonstrate Argo CD
semantic-pull-requests - :robot: Let the robots take care of the semantic versioning
cz-cli - The commitizen command line utility. #BlackLivesMatter
commitizen - Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
semantic-pull-requests
conventional-changelog - Generate changelogs and release notes from a project's commit messages and metadata.
git-hook-conventional-commits-validator - A Git pre-commit hook which validates commit messages using Conventional Commits standard
laragon - Laragon is a portable, isolated, fast & powerful universal development environment for PHP, Node.js, Python, Java, Go, Ruby. It is fast, lightweight, easy-to-use and easy-to-extend.
semver - Semantic Versioning Specification
vite - Next generation frontend tooling. It's fast!
terraform-provider-wireguard - Terraform provider for WireGuard metadata