From c0d0b933003733d30768b3077dcd8593515617c3 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Tue, 30 Jul 2019 13:18:48 -0300 Subject: [PATCH] New chapter: Git flow --- content/books/things-i-learnt/_index.md | 1 + content/books/things-i-learnt/gerrit/index.md | 4 +-- .../books/things-i-learnt/git-flow/index.md | 29 +++++++++++++++++++ .../project-organization/index.md | 2 +- 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 content/books/things-i-learnt/git-flow/index.md diff --git a/content/books/things-i-learnt/_index.md b/content/books/things-i-learnt/_index.md index db8ff7b..f7fff4b 100644 --- a/content/books/things-i-learnt/_index.md +++ b/content/books/things-i-learnt/_index.md @@ -35,6 +35,7 @@ template = "section-contentless.html" * [Always Use A Version Control System](always-vcs) * [One Commit Per Change](one-change-commit) * [Gerrit Is A Mistake](gerrit) + * [Git-Flow Is The Way To Go](git-flow) * Project Organization * [Organize Your Code by Data/Type, Not Functionality](project-organization) * [Create Libraries](libraries) diff --git a/content/books/things-i-learnt/gerrit/index.md b/content/books/things-i-learnt/gerrit/index.md index eb48979..3468149 100644 --- a/content/books/things-i-learnt/gerrit/index.md +++ b/content/books/things-i-learnt/gerrit/index.md @@ -3,7 +3,7 @@ title = "Things I Learnt The Hard Way - Gerrit Is A Mistake" date = 2019-07-29 [taxonomies] -tags = ["en-au", "books", "things i learnt", "git", "gerrit"] +tags = ["en-au", "books", "things i learnt", "git", "gerrit", "source control"] +++ I hate calling software "a mistake", but I can't find any other way to @@ -33,4 +33,4 @@ the middle: gERRit. When I see someone using Gerrit, I know something is wrong there. -{{ chapters(prev_chapter_link="/books/things-i-learnt/one-change-commit", prev_chapter_title="One Commit Per Change", next_chapter_link="/books/things-i-learnt/project-organization", next_chapter_title="Organize Your Code by Data/Type, Not Functionality") }} +{{ chapters(prev_chapter_link="/books/things-i-learnt/one-change-commit", prev_chapter_title="One Commit Per Change", next_chapter_link="/books/things-i-learnt/git-flow", next_chapter_title="Git-Flow Is The Way To Go") }} diff --git a/content/books/things-i-learnt/git-flow/index.md b/content/books/things-i-learnt/git-flow/index.md new file mode 100644 index 0000000..a16001a --- /dev/null +++ b/content/books/things-i-learnt/git-flow/index.md @@ -0,0 +1,29 @@ ++++ +title = "Things I Learnt The Hard Way - Git-Flow Is The Way To Go" +date = 2019-07-30 + +[taxonomies] +tags = ["en-au", "books", "things i learnt", "git", "git flow", "source control"] ++++ + +If [Gerrit is such a mistake](/books/thing-i-learnt/gerrit), what can you use +instead? Git Flow! + + + +Git Flow is a plugin for Git for managing branches. It is based on the concept +of "feature branches", in which each branch is a feature or bug you're working +on. Once you finish it, it will just close the branch. + +Although there is a lot to be said about Git and how you should use it, the +fact is that Git Flow manages a lot of complexity of having a stable branch, +an "unstable"/testing branch and all features around those. + +Not only that, but with the current source control sites like Github and +GitLab, the flow is quite similar -- although working with branches is changed +with forks. + +You can even install Git Flow and use it on your personal project -- which is +something I do with this blog/book! + +{{ chapters(prev_chapter_link="/books/things-i-learnt/gerrit", prev_chapter_title="Gerrit Is A Mistake", next_chapter_link="/books/things-i-learnt/project-organization", next_chapter_title="Organize Your Code by Data/Type, Not Functionality") }} diff --git a/content/books/things-i-learnt/project-organization/index.md b/content/books/things-i-learnt/project-organization/index.md index bda33aa..272ac4e 100644 --- a/content/books/things-i-learnt/project-organization/index.md +++ b/content/books/things-i-learnt/project-organization/index.md @@ -81,4 +81,4 @@ transformations and such, but without the Data3 part). By breaking by their types, I managed to create small modules for each one and the new project would simply reference Data1 and Data2, but not Data3. -{{ chapters(prev_chapter_link="/books/things-i-learnt/gerrit", prev_chapter_title="Gerrit Is A Mistake", next_chapter_link="/books/things-i-learnt/libraries", next_chapter_title="Create Libraries") }} +{{ chapters(prev_chapter_link="/books/things-i-learnt/git-flow", prev_chapter_title="Git-Flow Is The Way To Go", next_chapter_link="/books/things-i-learnt/libraries", next_chapter_title="Create Libraries") }}