Skip to content

Commit 1cdc02f

Browse files
Deployed d736ddb with MkDocs version: 1.6.1
1 parent 13002ab commit 1cdc02f

File tree

5 files changed

+321
-154
lines changed

5 files changed

+321
-154
lines changed

git-flow/index.html

Lines changed: 166 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,48 @@
7171
<li class="toctree-l2"><a class="reference internal" href="../git-and-github/">Git And Github</a>
7272
</li>
7373
<li class="toctree-l2 current"><a class="reference internal current" href="#">Git Flow</a>
74+
<ul class="current">
75+
<li class="toctree-l3"><a class="reference internal" href="#understanding-git-flow">Understanding Git Flow</a>
76+
<ul>
77+
<li class="toctree-l4"><a class="reference internal" href="#introduction">Introduction</a>
78+
</li>
79+
<li class="toctree-l4"><a class="reference internal" href="#learning-outcomes">Learning Outcomes</a>
80+
</li>
81+
</ul>
82+
</li>
83+
<li class="toctree-l3"><a class="reference internal" href="#what-is-git-flow-ui-terminal">What is Git Flow? (UI &amp; Terminal)</a>
84+
<ul>
85+
<li class="toctree-l4"><a class="reference internal" href="#definition">Definition</a>
86+
</li>
87+
<li class="toctree-l4"><a class="reference internal" href="#key-components">Key Components</a>
88+
</li>
89+
</ul>
90+
</li>
91+
<li class="toctree-l3"><a class="reference internal" href="#implementing-a-feature-using-git-flow-terminal">Implementing a Feature using Git Flow (Terminal)</a>
92+
<ul>
93+
<li class="toctree-l4"><a class="reference internal" href="#workflow-for-features">Workflow for Features</a>
94+
</li>
95+
</ul>
96+
</li>
97+
<li class="toctree-l3"><a class="reference internal" href="#hotfixes-and-releases-terminal">Hotfixes and Releases (Terminal)</a>
98+
<ul>
99+
<li class="toctree-l4"><a class="reference internal" href="#hotfix-workflow">Hotfix Workflow</a>
100+
</li>
101+
<li class="toctree-l4"><a class="reference internal" href="#release-workflow">Release Workflow</a>
102+
</li>
103+
</ul>
104+
</li>
105+
<li class="toctree-l3"><a class="reference internal" href="#git-tags-and-versioning-terminal">Git Tags and Versioning (Terminal)</a>
106+
<ul>
107+
<li class="toctree-l4"><a class="reference internal" href="#using-git-tags">Using Git Tags</a>
108+
</li>
109+
<li class="toctree-l4"><a class="reference internal" href="#versioning-practices">Versioning Practices</a>
110+
</li>
111+
</ul>
112+
</li>
113+
<li class="toctree-l3"><a class="reference internal" href="#summary">Summary</a>
114+
</li>
115+
</ul>
74116
</li>
75117
<li class="toctree-l2"><a class="reference internal" href="../github-cli/">Github CLI</a>
76118
</li>
@@ -102,101 +144,140 @@
102144
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
103145
<div class="section" itemprop="articleBody">
104146

105-
<p>Git Flow Overview</p>
106-
<p>Understanding Git Flow</p>
107-
<p>Introduction</p>
147+
<h1 id="git-flow-overview">Git Flow Overview</h1>
148+
<h2 id="understanding-git-flow">Understanding Git Flow</h2>
149+
<h3 id="introduction">Introduction</h3>
108150
<p>This guide will help you understand Git Flow, an advanced workflow that simplifies the management of complex projects. Git Flow introduces a branching model designed to keep your development process organized, from feature development to handling hotfixes and releases.</p>
109-
<p>Learning Outcomes</p>
151+
<h3 id="learning-outcomes">Learning Outcomes</h3>
110152
<p>By the end of this guide, you will:</p>
111-
<pre><code>• Understand what Git Flow is and how it improves project workflow.
112-
• Implement a feature using Git Flow.
113-
• Manage hotfixes and releases effectively.
114-
• Use Git tags for version control and learn versioning best practices.
115-
</code></pre>
116-
<p>Section 1: What is Git Flow? (UI &amp; Terminal)</p>
117-
<p>Definition</p>
153+
<ul>
154+
<li>Understand what Git Flow is and how it improves project workflow.</li>
155+
<li>Implement a feature using Git Flow.</li>
156+
<li>Manage hotfixes and releases effectively.</li>
157+
<li>Use Git tags for version control and learn versioning best practices.</li>
158+
</ul>
159+
<h2 id="what-is-git-flow-ui-terminal">What is Git Flow? (UI &amp; Terminal)</h2>
160+
<h3 id="definition">Definition</h3>
118161
<p>Git Flow is a branching model that helps teams manage project development in a structured way. It ensures that work on new features, bug fixes, and releases is done in isolation and merged back into the main codebase when ready.</p>
119-
<p>Key Components</p>
120-
<pre><code>• Main Branch: The production-ready branch, always reflecting the latest release.
121-
• Develop Branch: The integration branch where features are merged and tested before release.
122-
• Feature Branches: Temporary branches for developing new features or functionalities.
123-
• Release Branches: Used to prepare new releases, allowing final fixes and tests.
124-
• Hotfix Branches: Created for critical patches in the production branch.
125-
</code></pre>
126-
<p>Section 2: Implementing a Feature using Git Flow (Terminal)</p>
127-
<p>Workflow for Features</p>
162+
<h3 id="key-components">Key Components</h3>
163+
<ul>
164+
<li><strong>Main Branch</strong>: The production-ready branch, always reflecting the latest release.</li>
165+
<li><strong>Develop Branch</strong>: The integration branch where features are merged and tested before release.</li>
166+
<li><strong>Feature Branches</strong>: Temporary branches for developing new features or functionalities.</li>
167+
<li><strong>Release Branches</strong>: Used to prepare new releases, allowing final fixes and tests.</li>
168+
<li><strong>Hotfix Branches</strong>: Created for critical patches in the production branch.</li>
169+
</ul>
170+
<h2 id="implementing-a-feature-using-git-flow-terminal">Implementing a Feature using Git Flow (Terminal)</h2>
171+
<h3 id="workflow-for-features">Workflow for Features</h3>
128172
<p>Git Flow makes it easy to develop new features in isolation before integrating them into the main codebase.</p>
129-
<pre><code>1. Checkout the develop branch:
130-
</code></pre>
131-
<p>git checkout develop</p>
132-
<pre><code>2. Create a new feature branch:
133-
</code></pre>
134-
<p>git checkout -b feature/new-feature</p>
135-
<pre><code>3. Develop the feature:
136-
</code></pre>
137-
<p>Add your code and commit regularly:</p>
138-
<p>git add .
139-
git commit -m "Start implementing new feature"</p>
140-
<pre><code>4. Merge the feature back into develop:
141-
</code></pre>
142-
<p>Once the feature is complete:</p>
143-
<p>git checkout develop
144-
git merge feature/new-feature</p>
145-
<pre><code>5. Delete the feature branch (optional):
146-
</code></pre>
147-
<p>Clean up by deleting the feature branch:</p>
148-
<p>git branch -d feature/new-feature</p>
149-
<p>Section 3: Hotfixes and Releases (Terminal)</p>
150-
<p>Hotfix Workflow</p>
173+
<ol>
174+
<li>
175+
<p>Checkout the develop branch:</p>
176+
<p><code>bash
177+
git checkout develop</code></p>
178+
</li>
179+
<li>
180+
<p>Create a new feature branch:</p>
181+
<p><code>bash
182+
git checkout -b feature/new-feature</code></p>
183+
</li>
184+
<li>
185+
<p>Develop the feature:
186+
Add your code and commit regularly:</p>
187+
<p><code>bash
188+
git add .
189+
git commit -m "Start implementing new feature"</code></p>
190+
</li>
191+
<li>
192+
<p>Merge the feature back into develop:
193+
Once the feature is complete:</p>
194+
<p><code>bash
195+
git checkout develop
196+
git merge feature/new-feature</code></p>
197+
</li>
198+
<li>
199+
<p>Delete the feature branch (optional):
200+
Clean up by deleting the feature branch:</p>
201+
<p><code>bash
202+
git branch -d feature/new-feature</code></p>
203+
</li>
204+
</ol>
205+
<h2 id="hotfixes-and-releases-terminal">Hotfixes and Releases (Terminal)</h2>
206+
<h3 id="hotfix-workflow">Hotfix Workflow</h3>
151207
<p>Hotfixes are quick patches applied directly to the production code. Git Flow makes it easy to apply fixes and keep both the main and develop branches updated.</p>
152-
<pre><code>1. Create a hotfix branch from main:
153-
</code></pre>
154-
<p>git checkout -b hotfix/urgent-fix main</p>
155-
<pre><code>2. Apply the fix and commit it:
156-
</code></pre>
157-
<p>git add .
158-
git commit -m "Apply urgent fix for production"</p>
159-
<pre><code>3. Merge the fix back into main and develop:
160-
</code></pre>
161-
<p>git checkout main
208+
<ol>
209+
<li>
210+
<p>Create a hotfix branch from main:</p>
211+
<p><code>bash
212+
git checkout -b hotfix/urgent-fix main</code></p>
213+
</li>
214+
<li>
215+
<p>Apply the fix and commit it:</p>
216+
<p><code>bash
217+
git add .
218+
git commit -m "Apply urgent fix for production"</code></p>
219+
</li>
220+
<li>
221+
<p>Merge the fix back into main and develop:</p>
222+
<p><code>bash
223+
git checkout main
162224
git merge hotfix/urgent-fix
163225
git checkout develop
164-
git merge hotfix/urgent-fix</p>
165-
<p>Release Workflow</p>
226+
git merge hotfix/urgent-fix</code></p>
227+
</li>
228+
</ol>
229+
<h3 id="release-workflow">Release Workflow</h3>
166230
<p>Releases prepare the develop branch for production. Final bug fixes, versioning, and testing occur on the release branch before merging into main.</p>
167-
<pre><code>1. Create a release branch from develop:
168-
</code></pre>
169-
<p>git checkout -b release/v1.0 develop</p>
170-
<pre><code>2. Perform final changes and commit:
171-
</code></pre>
172-
<p>git add .
173-
git commit -m "Prepare for release v1.0"</p>
174-
<pre><code>3. Merge the release into main and tag the release:
175-
</code></pre>
176-
<p>git checkout main
231+
<ol>
232+
<li>
233+
<p>Create a release branch from develop:</p>
234+
<p><code>bash
235+
git checkout -b release/v1.0 develop</code></p>
236+
</li>
237+
<li>
238+
<p>Perform final changes and commit:</p>
239+
<p><code>bash
240+
git add .
241+
git commit -m "Prepare for release v1.0"</code></p>
242+
</li>
243+
<li>
244+
<p>Merge the release into main and tag the release:</p>
245+
<p><code>bash
246+
git checkout main
177247
git merge release/v1.0
178-
git tag -a v1.0 -m "Release version 1.0"</p>
179-
<pre><code>4. Merge the release back into develop (to ensure any last-minute fixes are included):
180-
</code></pre>
181-
<p>git checkout develop
182-
git merge main</p>
183-
<p>Section 4: Git Tags and Versioning (Terminal)</p>
184-
<p>Using Git Tags</p>
185-
<p>Tags allow you to mark important points in your project’s history, such as a new release. Tags can be lightweight (simple references) or annotated (contain metadata).</p>
186-
<pre><code>1. Create an annotated tag for a release:
187-
</code></pre>
188-
<p>git tag -a v1.0 -m "Release version 1.0"</p>
189-
<pre><code>2. Push the tags to your remote repository:
190-
</code></pre>
191-
<p>git push origin --tags</p>
192-
<p>Versioning Practices</p>
248+
git tag -a v1.0 -m "Release version 1.0"</code></p>
249+
</li>
250+
<li>
251+
<p>Merge the release back into develop (to ensure any last-minute fixes are included):</p>
252+
<p><code>bash
253+
git checkout develop
254+
git merge main</code></p>
255+
</li>
256+
</ol>
257+
<h2 id="git-tags-and-versioning-terminal">Git Tags and Versioning (Terminal)</h2>
258+
<h3 id="using-git-tags">Using Git Tags</h3>
259+
<p>Tags allow you to mark important points in your project's history, such as a new release. Tags can be lightweight (simple references) or annotated (contain metadata).</p>
260+
<ol>
261+
<li>
262+
<p>Create an annotated tag for a release:</p>
263+
<p><code>bash
264+
git tag -a v1.0 -m "Release version 1.0"</code></p>
265+
</li>
266+
<li>
267+
<p>Push the tags to your remote repository:</p>
268+
<p><code>bash
269+
git push origin --tags</code></p>
270+
</li>
271+
</ol>
272+
<h3 id="versioning-practices">Versioning Practices</h3>
193273
<p>When tagging releases, many developers follow semantic versioning, which uses the format MAJOR.MINOR.PATCH. For example:</p>
194-
<pre><code>• MAJOR: Increment for incompatible changes (e.g., v2.0.0).
195-
• MINOR: Increment for new backward-compatible functionality (e.g., v1.1.0).
196-
• PATCH: Increment for backward-compatible bug fixes (e.g., v1.0.1).
197-
</code></pre>
198-
<p>Summary</p>
199-
<p>With Git Flow, you’ve learned how to manage features, releases, and hotfixes in a structured, organized way. You also gained an understanding of tagging releases and versioning best practices to keep your projects clean and maintainable. Keep practicing these workflows, and you’ll streamline your project management processes significantly!</p>
274+
<ul>
275+
<li>MAJOR: Increment for incompatible changes (e.g., v2.0.0).</li>
276+
<li>MINOR: Increment for new backward-compatible functionality (e.g., v1.1.0).</li>
277+
<li>PATCH: Increment for backward-compatible bug fixes (e.g., v1.0.1).</li>
278+
</ul>
279+
<h2 id="summary">Summary</h2>
280+
<p>With Git Flow, you've learned how to manage features, releases, and hotfixes in a structured, organized way. You also gained an understanding of tagging releases and versioning best practices to keep your projects clean and maintainable. Keep practicing these workflows, and you'll streamline your project management processes significantly!</p>
200281

201282
</div>
202283
</div><footer>

0 commit comments

Comments
 (0)