Permalink
Browse files

removed the cname for now and started the third episode

  • Loading branch information...
1 parent 2e19ed8 commit 65208369c59a02d5df0ad3ddf9f2dae1dd28b442 @schacon schacon committed Feb 8, 2009
Showing with 256 additions and 7 deletions.
  1. +0 −1 CNAME
  2. +4 −3 Rakefile
  3. +1 −0 episodes.yaml
  4. +1 −1 index.html
  5. +1 −1 p/intro.html
  6. +163 −0 p/normal.html
  7. +1 −1 p/setup.html
  8. +85 −0 pages/normal.markdown
  9. 0 scripts/3-normal.txt
View
1 CNAME
@@ -1 +0,0 @@
-gitcasts.com
View
@@ -10,12 +10,13 @@ def generate_page(page_data)
# add video if present
if code = page_data['cast']
- @pcontent += '<embed src="http://blip.tv/play/' + code
+ @pcontent += '<center><embed src="http://blip.tv/play/' + code
@pcontent += '" type="application/x-shockwave-flash" width="640" height="360" '
- @pcontent += 'allowscriptaccess="always" allowfullscreen="true"></embed>'
- @pcontent += '<hr/>'
+ @pcontent += 'allowscriptaccess="always" allowfullscreen="true"></embed></center>'
end
+ @pcontent += '<hr/>'
+
# render markdown from page, if present
mpage = "pages/#{page}.markdown"
if File.exists?(mpage)
View
@@ -13,6 +13,7 @@ episodes:
new Git repository and clone an existing one.
- name: Normal Workflow
+ page: normal
desc: Syncronize with a remote repository, make changes,
then stage and commit them.
View
@@ -67,7 +67,7 @@
<hr/>
</div>
- <div class="span-5"><h2>Beginner</h2><div class='episode'><b><a href="p/intro.html">Introduction To Git</a></b><p>What Git is, why you would want to use it and where to get it and learn about it.</p></div><div class='episode'><b><a href="p/setup.html">Setup and Initialization</a></b><p>Setup your Git environment, then create a new Git repository and clone an existing one.</p></div><div class='episode'><b>Normal Workflow</b><p>Syncronize with a remote repository, make changes, then stage and commit them.</p></div><div class='episode'><b>Basic Branching and Merging</b><p>Create and work on topic and long running branches, merge between them and delete them.</p></div><div class='episode'><b>Git Log</b><p>Browse your project history, find specific commits and visualize the branching and merging actions.</p></div><div class='episode'><b>Git Diff</b><p>Show differences between different versions of your projects or specific files within your project.</p></div><div class='episode'><b>Customizing Git</b><p>Setup aliases for common commands and other personal options in Git - color, crlf and more.</p></div></div><div class="span-5"><h2>Intermediate</h2><div class='episode'><b>Undoing</b><p>Revert, unmodify or unstage a file or project state at any point.</p></div><div class='episode'><b>Rebasing</b><p>Replay changes from one branch onto another branch to preserve a linear history.</p></div><div class='episode'><b>Stashing</b><p>Temporarily save changes to your working directory and staging area without having to commit, then reapply the changes later.</p></div><div class='episode'><b>Interactive Adding</b><p>Stage and unstage changes to files or partial files with an interactive Git tool.</p></div><div class='episode'><b>Distributed Workflows</b><p>Fetch, merge, pull and push between multiple remote repositories.</p></div><div class='episode'><b>Amending Commits</b><p>Change the latest commit message, or redo the last commit by adding or removing files from it.</p></div><div class='episode'><b>Interactive Rebasing</b><p>Rebase multiple files interactively, squashing, reordering or amending commits in between.</p></div></div><div class="span-5"><h2>Advanced</h2><div class='episode'><b>Filter Branch</b><p>Modify large sections of your commit history at once, changing emails, names or files globally.</p></div><div class='episode'><b>Maintaining Git</b><p>Learn the fsck and gc commands to diagnose problems and keep your repository small.</p></div><div class='episode'><b>Data Recovery</b><p>Find lost commits or branches and restore them, or recover from partial database corruption.</p></div><div class='episode'><b>Git Hooks</b><p>Learn the client and server side pre and post action hooks and some useful example scripts to use with them.</p></div><div class='episode'><b>Revision Selection</b><p>Selecting individual commits or ranges of commits using helpful Git shorthands.</p></div><div class='episode'><b>Git Internals</b><p>Explore the internal workings of Git - the different object types and how to view the raw data via several useful plumbing commands.</p></div><div class='episode'><b>Git Submodules</b><p>Submodule usage and other tips for keeping subprojects in your Git repository.</p></div></div><div class="span-6 last"><h2>Special Interest</h2><div class='episode'><b>Git and Windows - General</b><p>Install and use Git on a Windows environment using the default mSysGit tools.</p></div><div class='episode'><b>Git and Windows - Extensions</b><p>Installing and using the Git Extensions shell extensions tools on Windows.</p></div><div class='episode'><b>Git and Subversion</b><p>Using the git-svn client with a Subversion server. Specifically for existing SVN users, how Git is a better Subversion client than Subversion.</p></div><div class='episode'><b>Migrating from Subversion</b><p>Ready to move your project from Subversion? A few ways to do the migration, from hosted services to really custom methods.</p></div><div class='episode'><b>Git and Textmate</b><p>Using Git and GitHub from Textmate using the TM Git bundle.</p></div><div class='episode'><b>Git and Capistrano</b><p>Deploying Git projects using the Capistrano deployment tool, including how to deploy from GitHub.</p></div></div>
+ <div class="span-5"><h2>Beginner</h2><div class='episode'><b><a href="p/intro.html">Introduction To Git</a></b><p>What Git is, why you would want to use it and where to get it and learn about it.</p></div><div class='episode'><b><a href="p/setup.html">Setup and Initialization</a></b><p>Setup your Git environment, then create a new Git repository and clone an existing one.</p></div><div class='episode'><b><a href="p/normal.html">Normal Workflow</a></b><p>Syncronize with a remote repository, make changes, then stage and commit them.</p></div><div class='episode'><b>Basic Branching and Merging</b><p>Create and work on topic and long running branches, merge between them and delete them.</p></div><div class='episode'><b>Git Log</b><p>Browse your project history, find specific commits and visualize the branching and merging actions.</p></div><div class='episode'><b>Git Diff</b><p>Show differences between different versions of your projects or specific files within your project.</p></div><div class='episode'><b>Customizing Git</b><p>Setup aliases for common commands and other personal options in Git - color, crlf and more.</p></div></div><div class="span-5"><h2>Intermediate</h2><div class='episode'><b>Undoing</b><p>Revert, unmodify or unstage a file or project state at any point.</p></div><div class='episode'><b>Rebasing</b><p>Replay changes from one branch onto another branch to preserve a linear history.</p></div><div class='episode'><b>Stashing</b><p>Temporarily save changes to your working directory and staging area without having to commit, then reapply the changes later.</p></div><div class='episode'><b>Interactive Adding</b><p>Stage and unstage changes to files or partial files with an interactive Git tool.</p></div><div class='episode'><b>Distributed Workflows</b><p>Fetch, merge, pull and push between multiple remote repositories.</p></div><div class='episode'><b>Amending Commits</b><p>Change the latest commit message, or redo the last commit by adding or removing files from it.</p></div><div class='episode'><b>Interactive Rebasing</b><p>Rebase multiple files interactively, squashing, reordering or amending commits in between.</p></div></div><div class="span-5"><h2>Advanced</h2><div class='episode'><b>Filter Branch</b><p>Modify large sections of your commit history at once, changing emails, names or files globally.</p></div><div class='episode'><b>Maintaining Git</b><p>Learn the fsck and gc commands to diagnose problems and keep your repository small.</p></div><div class='episode'><b>Data Recovery</b><p>Find lost commits or branches and restore them, or recover from partial database corruption.</p></div><div class='episode'><b>Git Hooks</b><p>Learn the client and server side pre and post action hooks and some useful example scripts to use with them.</p></div><div class='episode'><b>Revision Selection</b><p>Selecting individual commits or ranges of commits using helpful Git shorthands.</p></div><div class='episode'><b>Git Internals</b><p>Explore the internal workings of Git - the different object types and how to view the raw data via several useful plumbing commands.</p></div><div class='episode'><b>Git Submodules</b><p>Submodule usage and other tips for keeping subprojects in your Git repository.</p></div></div><div class="span-6 last"><h2>Special Interest</h2><div class='episode'><b>Git and Windows - General</b><p>Install and use Git on a Windows environment using the default mSysGit tools.</p></div><div class='episode'><b>Git and Windows - Extensions</b><p>Installing and using the Git Extensions shell extensions tools on Windows.</p></div><div class='episode'><b>Git and Subversion</b><p>Using the git-svn client with a Subversion server. Specifically for existing SVN users, how Git is a better Subversion client than Subversion.</p></div><div class='episode'><b>Migrating from Subversion</b><p>Ready to move your project from Subversion? A few ways to do the migration, from hosted services to really custom methods.</p></div><div class='episode'><b>Git and Textmate</b><p>Using Git and GitHub from Textmate using the TM Git bundle.</p></div><div class='episode'><b>Git and Capistrano</b><p>Deploying Git projects using the Capistrano deployment tool, including how to deploy from GitHub.</p></div></div>
<div id="footer" class="span-21">
<div class="info span-12">
View
@@ -42,7 +42,7 @@
</div>
<div class="content">
- <div class="span-21"><embed src="http://blip.tv/play/AeD_CQA" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true"></embed><hr/><p>Welcome to the first lesson of the GitHub Learning course. This course will lead you through a series of lessons that will demonstrate how to use Git quickly and easily - many of the lessons will have screencasts that you can watch as well, if you learn better that way.</p>
+ <div class="span-21"><center><embed src="http://blip.tv/play/AeD_CQA" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></center><hr/><p>Welcome to the first lesson of the GitHub Learning course. This course will lead you through a series of lessons that will demonstrate how to use Git quickly and easily - many of the lessons will have screencasts that you can watch as well, if you learn better that way.</p>
<p>This chapter is about what Git is and why you should use it - just a quick introduction before we start using it.</p>
View
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <title>Learn.GitHub Normal Workflow</title>
+ <script type="text/javascript" src="../js/jquery-1.2.6.pack.js"></script>
+ <script type="text/javascript" src="../js/thickbox-compressed.js"></script>
+ <script type="text/javascript" src="../js/jquery.corner.js"></script>
+
+ <link rel="stylesheet" href="../css/screen.css" type="text/css" media="screen, projection">
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print">
+ <!--[if IE]>
+ <link rel="stylesheet" href="../css/ie.css" type="text/css" media="screen, projection">
+ <![endif]-->
+
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8"/>
+ <link rel="stylesheet" href="../css/thickbox.css" type="text/css" media="screen"/>
+</head>
+
+<body>
+ <div class="container">
+
+ <div class="span-21" id="header">
+ <div class="span-10">
+ <a href="/"><img src="../images/learn.github.png" alt="github learn logo" /></a>
+ </div>
+
+ <div class="span-11 last">
+ <div id="links">
+ <a href="http://github.com">home</a>
+ <a href="http://github.com/login">login</a>
+ <a href="http://github.com/signup">signup!</a>
+ </div>
+ </div>
+ </div>
+
+ <div class="span-21" id="welcome">
+ <h1>Normal Workflow</h1>
+ <p>Syncronize with a remote repository, make changes, then stage and commit them.</p>
+ </div>
+
+ <div class="content">
+ <div class="span-21"><hr/><p>So you have a Git repository and everything is all setup. What now?</p>
+
+<p>Generally, it is not going to be much different than working with any other source control system, the only real difference should be the staging process. The workflow will generally go something like this:</p>
+
+<ul>
+<li>syncronize with upstream</li>
+
+<li>modify files</li>
+
+<li>see what you&#8217;ve changed</li>
+
+<li>stage the changes you want to commit</li>
+
+<li>commit your staging area</li>
+
+<li>rinse, repeat</li>
+
+<li>push upstream</li>
+</ul>
+
+<p>That is the most complex case - if you&#8217;re not collaborating with anyone and so have no upstream repository to push to, and you want to ignore the staging area, it can be as simple as:</p>
+
+<ul>
+<li>modify files</li>
+
+<li>commit your changes</li>
+
+<li>repeat</li>
+</ul>
+
+<p>Easy peasy. Remember, Git is decentralized, so you don&#8217;t actually need a public or shared server to commit to - you can use it like RCS if you want and just track local changes. So, let&#8217;s look at that use case first, then we&#8217;ll do the more complicated one where we have to syncronize our work with other collaborators.</p>
+
+<h3 id='the_simple_case'>the simple case</h3>
+
+<p>The first thing we&#8217;re going to do is modify some files. Let&#8217;s say we&#8217;re working on a simple library that wraps the Git command line in a Ruby library. If you want to follow along, you can clone the project from <a href='http://github.com/schacon/simplegit'>its GitHub page</a>.</p>
+
+<p>For this first example we&#8217;ll modify the README file to add ourselves as an author on the project. So we simply edit the file. Now we want to commit that change, so we run the &#8216;git commit -a&#8217; command. The &#8216;-a&#8217; tells Git to stage all modified files and then commit - we&#8217;ll cover the &#8216;staging area&#8217; next, but for now just running &#8216;git commit -a&#8217; will act something like the &#8216;commit&#8217; command in SVN.</p>
+
+<p>A prompt for a commit message will open in our editor (the $EDITOR environment variable or &#8216;core.editor&#8217; git config variable - by default it uses &#8216;vim&#8217;) that looks like this:</p>
+
+<pre><code>_
+# Please enter the commit message for your changes. Lines starting
+# with &#39;#&#39; will be ignored, and an empty message aborts the commit.
+# On branch main
+# Changes to be committed:
+# (use &quot;git reset HEAD &lt;file&gt;...&quot; to unstage)
+#
+# modified: README
+#
+~
+~
+&quot;.git/COMMIT_EDITMSG&quot; 9L, 253C</code></pre>
+
+<p>We simply type our commit message and exit the editor.</p>
+
+<pre><code>$ git commit -a
+[master]: created 5896d4d: &quot;added myself to the README as an author&quot;
+ 1 files changed, 2 insertions(+), 1 deletions(-)</code></pre>
+
+<p>Git will show us the commit message we typed and some statistics about what changes were introduced in that commit. It will also give us a checksum of the commit, &#8216;5896d4d&#8217;, that we can use to refer to this exact commit at any other time.</p>
+
+<p>That&#8217;s it - that&#8217;s the simple case. Edit files, &#8216;git commit -a&#8217;, repeat.</p>
+
+<h3 id='the_more_complete_case'>the more complete case</h3>
+
+<p>Now we&#8217;ll expand that use case a bit to include a remote repository we&#8217;re pushing to so we can collaborate with other developers. We&#8217;ll also introduce the staging area so we don&#8217;t have to commit every file we&#8217;ve changed each time we commit.</p>
+
+<ul>
+<li>syncronize with upstream</li>
+
+<li>modify files</li>
+
+<li>see what you&#8217;ve changed</li>
+
+<li>stage the changes you want to commit</li>
+
+<li>commit your staging area</li>
+
+<li>rinse, repeat</li>
+
+<li>push upstream</li>
+</ul><br/><br/><hr/></div>
+ </div>
+
+ <div id="footer" class="span-21">
+ <div class="info span-12">
+ <div class="links">
+ <a href="http://github.com/blog/148-github-shirts-now-available">T-Shirts</a> |
+ <a href="http://github.com/blog">Blog</a> |
+ <a href="http://support.github.com/">Support</a> |
+ <a href="http://github.com/training">Git Training</a> |
+ <a href="http://github.com/contact">Contact</a> |
+ <a href="http://groups.google.com/group/github/">Google Group</a> |
+ <a href="http://github.wordpress.com">Status</a>
+ </div>
+ <div class="company">
+ GitHub is <a href="http://logicalawesome.com/">Logical Awesome</a> &copy;2009 | <a href="http://github.com/site/terms">Terms of Service</a> | <a href="http://github.com/site/privacy">Privacy Policy</a>
+ </div>
+ </div>
+ <div class="fork span-7">
+ This website is <a href="http://github.com/learn/learn.github.com">open source</a>.
+ Please help us by forking the project and adding to it.
+ </div>
+ </div>
+
+ </div>
+
+ <script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+ </script>
+ <script type="text/javascript">
+ var pageTracker = _gat._getTracker("UA-3769691-2");
+ pageTracker._initData();
+ pageTracker._trackPageview();
+ </script>
+
+</body>
+</html>
View
@@ -42,7 +42,7 @@
</div>
<div class="content">
- <div class="span-21"><h3 id='setting_up_git'>setting up git</h3>
+ <div class="span-21"><hr/><h3 id='setting_up_git'>setting up git</h3>
<p>When you first start using Git, there are a few things you will likely want to get setup before you start. Git records your name and email address when you create commits, so you need to tell Git what those are. You can use the &#8216;git config&#8217; command to set those. If you pass &#8217;&#8211;global&#8217;, it will save the values in the &#8216;~/.gitconfig&#8217; file so they are the default for all of your repositories.</p>
Oops, something went wrong.

0 comments on commit 6520836

Please sign in to comment.