Skip to content

Commit

Permalink
Convert figures to Sketch 3 with new visual style
Browse files Browse the repository at this point in the history
  • Loading branch information
ben committed Jul 5, 2014
1 parent 46443ce commit ad45761
Show file tree
Hide file tree
Showing 210 changed files with 123 additions and 91 deletions.
9 changes: 9 additions & 0 deletions README.asc
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,12 @@ The book should be aimed at releasing close to Git 2.0 and all of the examples a
== How To Generate the Book

Right now you should be able to run `asciidoc book.asc` for the whole book, or `asciidoc chapterX.asc` for a single chapter. Eventually we will want to automate this and perhaps even have a build server (or use Atlas).

== Figures

The images in this book were generated using Sketch 3, with the [included sketchbook file](progit.sketch).
To add a figure:

. Add a page to the sketchbook. Try to use the included symbols wherever possible.
. Add a ``slice'' to your page. Give it a name that matches the destination PNG filename, relative from the root of the source directory.
. Make sure your slice is set to export at 3x size.
12 changes: 6 additions & 6 deletions book/01-introduction/1-introduction.asc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ It is easy to forget which directory you’re in and accidentally write to the w
To deal with this issue, programmers long ago developed local VCSs that had a simple database that kept all the changes to files under revision control.

.Local version control.
image::images/18333fig0101-tn.png[Local version control diagram]
image::images/local.png[Local version control diagram]

One of the more popular VCS tools was a system called RCS, which is still distributed with many computers today.
Even the popular Mac OS X operating system includes the `rcs` command when you install the Developer Tools.
Expand All @@ -39,7 +39,7 @@ These systems, such as CVS, Subversion, and Perforce, have a single server that
For many years, this has been the standard for version control.

.Centralized version control.
image::images/18333fig0102-tn.png[Centralized version control diagram]
image::images/centralized.png[Centralized version control diagram]

This setup offers many advantages, especially over local VCSs.
For example, everyone knows to a certain degree what everyone else on the project is doing.
Expand All @@ -59,7 +59,7 @@ Thus if any server dies, and these systems were collaborating via it, any of the
Every checkout is really a full backup of all the data.

.Distributed version control.
image::images/18333fig0103-tn.png[Distributed version control diagram]
image::images/distributed.png[Distributed version control diagram]

Furthermore, many of these systems deal pretty well with having several remote repositories they can work with, so you can collaborate with different groups of people in different ways simultaneously within the same project.
This allows you to set up several types of workflows that aren’t possible in centralized systems, such as hierarchical models.
Expand Down Expand Up @@ -99,7 +99,7 @@ Conceptually, most other systems store information as a list of file-based chang
These systems (CVS, Subversion, Perforce, Bazaar, and so on) think of the information they keep as a set of files and the changes made to each file over time.

.Storing data as changes to a base version of each file.
image::images/18333fig0104-tn.png[Storing data as changes to a base version of each file.]
image::images/deltas.png[Storing data as changes to a base version of each file.]

Git doesn’t think of or store its data this way.
Instead, Git thinks of its data more like a set of snapshots of a miniature filesystem.
Expand All @@ -108,7 +108,7 @@ To be efficient, if files have not changed, Git doesn’t store the file again,
Git thinks about its data more like a *stream of snapshots*.

.Storing data as snapshots of the project over time.
image::images/18333fig0105-tn.png[Git stores data as snapshots of the project over time.]
image::images/snapshots.png[Git stores data as snapshots of the project over time.]

This is an important distinction between Git and nearly all other VCSs.
It makes Git reconsider almost every aspect of version control that most other systems copied from the previous generation.
Expand Down Expand Up @@ -169,7 +169,7 @@ Staged means that you have marked a modified file in its current version to go i
This leads us to the three main sections of a Git project: the Git directory, the working directory, and the staging area.

.Working directory, staging area, and git directory.
image::images/18333fig0106-tn.png[Working directory, staging area, and git directory.]
image::images/areas.png[Working directory, staging area, and git directory.]

The Git directory is where Git stores the metadata and object database for your project.
This is the most important part of Git, and it is what is copied when you clone a repository from another computer.
Expand Down
Binary file removed book/01-introduction/images/18333fig0101-tn.png
Binary file not shown.
Binary file removed book/01-introduction/images/18333fig0102-tn.png
Binary file not shown.
Binary file removed book/01-introduction/images/18333fig0103-tn.png
Binary file not shown.
Binary file removed book/01-introduction/images/18333fig0104-tn.png
Binary file not shown.
Binary file removed book/01-introduction/images/18333fig0105-tn.png
Binary file not shown.
Binary file removed book/01-introduction/images/18333fig0106-tn.png
Binary file not shown.
Binary file added book/01-introduction/images/areas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added book/01-introduction/images/centralized.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added book/01-introduction/images/deltas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added book/01-introduction/images/distributed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added book/01-introduction/images/local.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added book/01-introduction/images/snapshots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 1 addition & 3 deletions book/02-git-basics/1-git-basics.asc
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ When you first clone a repository, all of your files will be tracked and unmodif

As you edit files, Git sees them as modified, because you’ve changed them since your last commit.
You stage these modified files and then commit all your staged changes, and the cycle repeats.
This lifecycle is illustrated in <<status_lifecycle>>.

[[status_lifecycle]]
.The lifecycle of the status of your files.
image::images/18333fig0201-tn.png[The lifecycle of the status of your files.]
image::images/lifecycle.png[The lifecycle of the status of your files.]

==== Checking the Status of Your Files

Expand Down
Binary file removed book/02-git-basics/images/18333fig0201-tn.png
Binary file not shown.
Binary file removed book/02-git-basics/images/18333fig0202-tn.png
Binary file not shown.
Binary file added book/02-git-basics/images/lifecycle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit ad45761

Please sign in to comment.