summaryrefslogtreecommitdiff
path: root/book/module2/version_control.tex
diff options
context:
space:
mode:
authorChristian Kolset <christian.kolset@gmail.com>2025-04-24 23:28:53 -0600
committerChristian Kolset <christian.kolset@gmail.com>2025-04-24 23:28:53 -0600
commit0fc68d39cf23955f443c75fa536922b45cf2e1dc (patch)
tree3411ce1ba48b1cc39f67ed132a1059ac435aa40f /book/module2/version_control.tex
parent1cdf11068535106b87c4b696e9aba025f23fabde (diff)
Updated .tex files
Diffstat (limited to 'book/module2/version_control.tex')
-rw-r--r--book/module2/version_control.tex42
1 files changed, 20 insertions, 22 deletions
diff --git a/book/module2/version_control.tex b/book/module2/version_control.tex
index 3c5ac6a..1c327c6 100644
--- a/book/module2/version_control.tex
+++ b/book/module2/version_control.tex
@@ -17,8 +17,6 @@ In this section is divided up into two major sections. The first section
project. The second section will cover how to use git with GitHub to
\emph{collaborate} on projects.
-\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center}
-
\subsection{Git}\label{git}
Git is a version control program that tracks changes to files and
@@ -51,25 +49,25 @@ committed:
This leads us to the three main sections of a Git project: the working
tree, the staging area, and the Git directory.
-\includegraphics{https://git-scm.com/book/en/v2/images/areas.png} \#\#\#
-Branching In git, branches allow for parallel workflow on a project. It
-give contributors the ability to work different features at the same
-time. Each branch represents an independent line of development, and
-once a feature or fix is complete, it can be merged back into the main
-branch. Here is a common branching structure used in many Git projects:
-- Main Branch - The main branch (a.k.a. master branch) is the default
-branch in a Git repository and contains the stable version of the code.
-- Development Branch - is created to develop a new feature or fix a bug
-without affecting the main branch. It isn't necessarily always stable,
-but whenever it gets to a stable state, it can be merged into master. -
+\includegraphics{figures/git_areas.png} \#\#\# Branching In git,
+branches allow for parallel workflow on a project. It give contributors
+the ability to work different features at the same time. Each branch
+represents an independent line of development, and once a feature or fix
+is complete, it can be merged back into the main branch. Here is a
+common branching structure used in many Git projects: - Main Branch -
+The main branch (a.k.a. master branch) is the default branch in a Git
+repository and contains the stable version of the code. - Development
+Branch - is created to develop a new feature or fix a bug without
+affecting the main branch. It isn't necessarily always stable, but
+whenever it gets to a stable state, it can be merged into master. -
Topic Branch - A topic branch is a short-lived branch that you create
and use for a single particular feature or related work.
-\includegraphics{https://git-scm.com/book/en/v2/images/lr-branches-2.png}
-\#\#\# Best Practices - Use descriptive commit messages. - Commit early
-and often. - Keep commits focused on a single change. - Use feature
-branches for new features or bug fixes. - Review and test changes before
-merging. - Resolve conflicts promptly. - Keep the commit history clean
-and organized.
+\includegraphics{figures/git_silo_branching.png} \#\#\# Best Practices -
+Use descriptive commit messages. - Commit early and often. - Keep
+commits focused on a single change. - Use feature branches for new
+features or bug fixes. - Review and test changes before merging. -
+Resolve conflicts promptly. - Keep the commit history clean and
+organized.
\subsubsection{Basic Commands}\label{basic-commands}
@@ -114,19 +112,19 @@ be using for this course.
\textbf{Centralized}: The project has only one central hub or
\emph{repository}, can accept code and everybody synchronizes their work
with it. This model is suitable for small and closed-sourced projects.
-\includegraphics{https://git-scm.com/book/en/v2/images/centralized_workflow.png}
+\includegraphics{figures/git_workflow_centralized.png}
\textbf{Integration-Manager:} There are multiple public variants of the
code original code known as \emph{forks}. The integration manager can
decide what features to pull from the forks. This is the model that is
similar to the one used on GitHub
-\includegraphics{https://git-scm.com/book/en/v2/images/integration-manager.png}
+\includegraphics{figures/git_workflow_int_manager.png}
\textbf{Dictator and Lieutenants Workflow:} This is similar to the
integration-manager model, however due to the size of the project. A
rank of integration managers is formed. one example of this is the
development of the Linux kernel.
-\includegraphics{https://git-scm.com/book/en/v2/images/benevolent-dictator.png}
+\includegraphics{figures/git_workflow_dictator.png}
GitHub is designed around a particular collaboration workflow, centered
on Pull Requests. This flow works whether you're collaborating with a