Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Flow migration #9

Open
8 of 46 tasks
arcticicestudio opened this issue Apr 6, 2020 · 0 comments
Open
8 of 46 tasks

GitHub Flow migration #9

arcticicestudio opened this issue Apr 6, 2020 · 0 comments

Comments

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 6, 2020

Historical Background

Back on July 22 2017, this style guide for Git was created that also includes the compliance with Git Flow. Generally this branching model is really dynamic and can help a larger team to keep the overview of different story implementations while being able to build and deploy version backports. Using develop as the main branch also helps to make sure the master branch always contains stable versions.

Anyway, the model also comes with disadvantages like the overhead of keeping both develop and master in sync when tagging a new release version. The main target groups for this model are larger teams that work on projects with legacy support.

I've adapted to Git Flow because I liked the idea of having one branch that reflects the actual development state, but after using it for over 6 years I don't see any advantages in it anymore compared to other great models like GitHub Flow. I've checked the original Git Flow blog post of Vincent Driessen again and was amazed that he recently (March 5, 2020) added an update at the top of the post that exactly matches my opinion regarding the fact that Git Flow is not suitable these days, comes with too much overhead and that he now recommends to use GitHub Flow instead:

Note of reflection (March 5, 2020)

This model was conceived in 2010, now more than 10 years ago, and not very long after Git itself came into being. In those 10 years, git-flow (the branching model laid out in this article) has become hugely popular in many a software team to the point where people have started treating it like a standard of sorts — but unfortunately also as a dogma or panacea.

During those 10 years, Git itself has taken the world by a storm, and the most popular type of software that is being developed with Git is shifting more towards web apps — at least in my filter bubble. Web apps are typically continuously delivered, not rolled back, and you don't have to support multiple versions of the software running in the wild.

This is not the class of software that I had in mind when I wrote the blog post 10 years ago. If your team is doing continuous delivery of software, I would suggest to adopt a much simpler workflow (like GitHub flow) instead of trying to shoehorn git-flow into your team.

If, however, you are building software that is explicitly versioned, or if you need to support multiple versions of your software in the wild, then git-flow may still be as good of a fit to your team as it has been to people in the last 10 years. In that case, please read on.

To conclude, always remember that panaceas don't exist. Consider your own context. Don't be hating. Decide for yourself.

This update perfectly reflects the way I thought about the Git Flow model quite a while now.
Therefore I've finally decided to switch to GitHub Flow and retire the good old develop in favor of master as the one and only single-source-of-truth™️.

Migration Tasks

Since all Arctic Ice Studio projects adhere to this guide each repository must gradually adapt to this change one after the other. Large projects like Nord with all of it's port projects will require a lot more time and effort to migrate regarding the goal and tooling compatibility of the actual project.
Smaller projects like my igloo dotfile repository, snowsaw as well as this style guide repository itself are way easier and can be done within the next few weeks.

To ensure the migration is documented and the status of each repository can be tracked, this issue will be kept open and used as umbrella ticket.

Private repositories are tracked internally as well on external (private) systems while the following affected public repositories and the corresponding issue are listed below.

@arcticicestudio arcticicestudio added this to the 0.3.0 milestone Apr 6, 2020
@arcticicestudio arcticicestudio added this to Queue in 0.3.0 via automation Apr 6, 2020
@arcticicestudio arcticicestudio changed the title _GitHub Flow_ migration GitHub Flow migration Apr 6, 2020
arcticicestudio added a commit that referenced this issue Apr 6, 2020
: Historical Background

Back on July 22 2017, this style guide for Git was created that also
included the compliance with Git Flow [1]. Generally this branching
model is really dynamic and can help a larger team to keep the overview
of different story implementations while being able to build and deploy
version backports. Using `develop` as the main branch also helps to
make sure the `master` branch always contains stable versions.

Anyway, the model also comes with disadvantages like the overhead of
keeping both `develop` and `master` in sync when tagging a new release
version. The main target groups for this model are larger teams that
work on projects with legacy support.

I've adapted Git Flow because I liked the idea of having one branch that
reflects the actual development state, but after using it for over 6
years I don't see any advantages in it anymore compared to other great
models like GitHub Flow [2]. I've checked the original Git Flow blog
post of Vincent Driessen again and was amazed that he recently
(March 5, 2020) added an update at the top of the post that exactly
matches my opinion regarding the fact that Git Flow is not suitable
these days, comes with too much overhead and that he now recommends to
use GitHub Flow instead:

> Note of reflection (March 5, 2020)
>
> This model was conceived in 2010, now more than 10 years ago, and not
> very long after Git itself came into being. In those 10 years,
> git-flow (the branching model laid out in this article) has become
> hugely popular in many a software team to the point where people have
> started treating it like a standard of sorts — but unfortunately also
> as a dogma or panacea.
>
> During those 10 years, Git itself has taken the world by a storm,
> and the most popular type of software that is being developed with Git
> is shifting more towards web apps — at least in my filter bubble. Web
> apps are typically continuously delivered, not rolled back, and you
> don't have to support multiple versions of the software running in the
> wild.
>
> This is not the class of software that I had in mind when I wrote the
> blog post 10 years ago. If your team is doing continuous delivery of
> software, I would suggest to adopt a much simpler workflow (like
> GitHub flow) instead of trying to shoehorn git-flow into your team.
>
> If, however, you are building software that is explicitly versioned,
> or if you need to support multiple versions of your software in the
> wild, then git-flow may still be as good of a fit to your team as it
> has been to people in the last 10 years. In that case, please read on.
>
> To conclude, always remember that panaceas don't exist. Consider your
> own context. Don't be hating. Decide for yourself.

This update perfectly reflects the way I thought about the Git Flow
model quite a while now.
Therefore I've finally decided to switch to GitHub Flow and retire the
good old `develop` in favor of `master` as the one and only
single-source-of-truth™️.

: Migration Tasks

Since all Arctic Ice Studio projects adhere to this guide each
repository must gradually adapt to this change one after the other.
Large projects like Nord [3] with all of it's port projects [4] will
require a lot more time and effort to migrate regarding the goal and
tooling compatibility of the actual project.
Smaller projects like my igloo [5] dotfile repository, snowsaw [6] as
well as this style guide repository itself are way easier and can be
done within the next few weeks.

[1]: https://nvie.com/posts/a-successful-git-branching-model
[2]: https://guides.github.com/introduction/flow
[3]: https://www.nordtheme.com
[4]: https://www.nordtheme.com/ports
[5]: https://github.com/arcticicestudio/igloo
[6]: https://github.com/arcticicestudio/snowsaw

GH-9
arcticicestudio added a commit that referenced this issue Apr 7, 2020
: Historical Background

Back on July 22 2017, this style guide for Git was created that also
included the compliance with Git Flow [1]. Generally this branching
model is really dynamic and can help a larger team to keep the overview
of different story implementations while being able to build and deploy
version backports. Using `develop` as the main branch also helps to
make sure the `master` branch always contains stable versions.

Anyway, the model also comes with disadvantages like the overhead of
keeping both `develop` and `master` in sync when tagging a new release
version. The main target groups for this model are larger teams that
work on projects with legacy support.

I've adapted Git Flow because I liked the idea of having one branch that
reflects the actual development state, but after using it for over 6
years I don't see any advantages in it anymore compared to other great
models like GitHub Flow [2]. I've checked the original Git Flow blog
post of Vincent Driessen again and was amazed that he recently
(March 5, 2020) added an update at the top of the post that exactly
matches my opinion regarding the fact that Git Flow is not suitable
these days, comes with too much overhead and that he now recommends to
use GitHub Flow instead:

> Note of reflection (March 5, 2020)
>
> This model was conceived in 2010, now more than 10 years ago, and not
> very long after Git itself came into being. In those 10 years,
> git-flow (the branching model laid out in this article) has become
> hugely popular in many a software team to the point where people have
> started treating it like a standard of sorts — but unfortunately also
> as a dogma or panacea.
>
> During those 10 years, Git itself has taken the world by a storm,
> and the most popular type of software that is being developed with Git
> is shifting more towards web apps — at least in my filter bubble. Web
> apps are typically continuously delivered, not rolled back, and you
> don't have to support multiple versions of the software running in the
> wild.
>
> This is not the class of software that I had in mind when I wrote the
> blog post 10 years ago. If your team is doing continuous delivery of
> software, I would suggest to adopt a much simpler workflow (like
> GitHub flow) instead of trying to shoehorn git-flow into your team.
>
> If, however, you are building software that is explicitly versioned,
> or if you need to support multiple versions of your software in the
> wild, then git-flow may still be as good of a fit to your team as it
> has been to people in the last 10 years. In that case, please read on.
>
> To conclude, always remember that panaceas don't exist. Consider your
> own context. Don't be hating. Decide for yourself.

This update perfectly reflects the way I thought about the Git Flow
model quite a while now.
Therefore I've finally decided to switch to GitHub Flow and retire the
good old `develop` in favor of `master` as the one and only
single-source-of-truth™️.

: Migration Tasks

Since all Arctic Ice Studio projects adhere to this guide each
repository must gradually adapt to this change one after the other.
Large projects like Nord [3] with all of it's port projects [4] will
require a lot more time and effort to migrate regarding the goal and
tooling compatibility of the actual project.
Smaller projects like my igloo [5] dotfile repository, snowsaw [6] as
well as this style guide repository itself are way easier and can be
done within the next few weeks.

[1]: https://nvie.com/posts/a-successful-git-branching-model
[2]: https://guides.github.com/introduction/flow
[3]: https://www.nordtheme.com
[4]: https://www.nordtheme.com/ports
[5]: https://github.com/arcticicestudio/igloo
[6]: https://github.com/arcticicestudio/snowsaw

Related to GH-9
@arcticicestudio arcticicestudio moved this from Queue to In Progress in 0.3.0 Apr 7, 2020
arcticicestudio added a commit to arcticicestudio/igloo that referenced this issue Apr 7, 2020
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-240
arcticicestudio added a commit to arcticicestudio/igloo that referenced this issue Apr 7, 2020
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
Resolves GH-240
arcticicestudio added a commit to svengreb/styleguide-javascript that referenced this issue Apr 4, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
GH-39
arcticicestudio added a commit to svengreb/styleguide-javascript that referenced this issue Apr 4, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
Closes GH-39
arcticicestudio added a commit to svengreb/styleguide-markdown that referenced this issue Apr 5, 2021
Adapted to GitHub Flow [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
GH-19
arcticicestudio added a commit to svengreb/styleguide-markdown that referenced this issue Apr 5, 2021
Adapted to GitHub Flow [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
Closes GH-19
arcticicestudio added a commit to nordtheme/jetbrains that referenced this issue Oct 4, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: https://guides.github.com/arcticicestudio/styleguide-git/issues/9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
GH-180
arcticicestudio added a commit to nordtheme/jetbrains that referenced this issue Oct 4, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: https://guides.github.com/arcticicestudio/styleguide-git/issues/9


Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
Closes GH-180
arcticicestudio added a commit to nordtheme/slack that referenced this issue Oct 5, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
GH-13
arcticicestudio added a commit to nordtheme/slack that referenced this issue Oct 5, 2021
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Co-authored-by: Sven Greb <development@svengreb.de>

Subtask of svengreb/styleguide-git#9
GH-13
arcticicestudio pushed a commit to nordtheme/vim that referenced this issue May 14, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: https://guides.github.com/arcticicestudio/styleguide-git/issues/9

Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>

Subtask of svengreb/styleguide-git#9
GH-311
svengreb added a commit to nordtheme/vim that referenced this issue May 14, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: https://guides.github.com/arcticicestudio/styleguide-git/issues/9

Co-authored-by: Sven Greb <development@svengreb.de>
Co-authored-by: Arctic Ice Studio <development@arcticicestudio.com>

Subtask of svengreb/styleguide-git#9
GH-311
arcticicestudio pushed a commit to nordtheme/web that referenced this issue Sep 25, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-229
svengreb added a commit to nordtheme/web that referenced this issue Sep 25, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-229
arcticicestudio pushed a commit to nordtheme/alacritty that referenced this issue Oct 5, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-21
arcticicestudio pushed a commit to nordtheme/alacritty that referenced this issue Oct 5, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-21
svengreb added a commit to nordtheme/alacritty that referenced this issue Oct 5, 2022
Adapted to "GitHub Flow" [1] like documented in detail in the main task
issue svengreb/styleguide-git#9 [2].

[1]: https://guides.github.com/introduction/flow
[2]: svengreb/styleguide-git#9

Subtask of svengreb/styleguide-git#9
GH-21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment