]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/devel/git-starting.itexi
Add dynamic script fffff; update docs.
[lilypond.git] / Documentation / devel / git-starting.itexi
index c50ba18da478da12cae1897b78e84198b30fda0e..6d6d55e86c358c9155a7a7076dd6326e8bed44f2 100644 (file)
@@ -7,11 +7,12 @@ in this chapter, it may be a good idea to look for Git documentation
 at @uref{http://git-scm.com/documentation},
 
 @menu
-* Getting the source code::
-* Updating the source code::
-* Sharing your changes::
-* Advanced git stuff::
-* Git on Windows::
+* Getting the source code::     
+* Updating the source code::    
+* Sharing your changes::        
+* Advanced git stuff::          
+* Git on Windows::              
+* Development inside VirtualBox (compiling on Windows)::  
 @end menu
 
 
@@ -19,13 +20,13 @@ at @uref{http://git-scm.com/documentation},
 @section Getting the source code
 
 @menu
-* Git introduction::
-* Main source code::
-* Website source code::
-* Documentation translations source code::
-* Other branches::
-* Other locations for git::
-* Git user configuration::
+* Git introduction::            
+* Main source code::            
+* Website source code::         
+* Documentation translations source code::  
+* Other branches::              
+* Other locations for git::     
+* Git user configuration::      
 @end menu
 
 @node Git introduction
@@ -145,9 +146,9 @@ git config --global user.email MYEMAIL@@EXAMPLE.NET
 @section Updating the source code
 
 @menu
-* Importance of updating::
-* Update command::
-* Resolving conflicts::
+* Importance of updating::      
+* Update command::              
+* Resolving conflicts::         
 @end menu
 
 
@@ -193,8 +194,8 @@ resolve conflicts} in @command{git merge} man page.
 @section Sharing your changes
 
 @menu
-* Producing a patch::
-* Committing directly::
+* Producing a patch::           
+* Committing directly::         
 @end menu
 
 
@@ -265,10 +266,10 @@ url = ssh://@var{user}@@git.sv.gnu.org/srv/git/lilypond.git
 @noindent
 where @var{user} is your login name on Savannah.
 
-If you have not already done so, you should generate and upload a SSH
-key: open @uref{https://savannah.gnu.org/my/} in your browser, then go to
-@q{Preferences} then to something like @q{Edit SSH Keys}, and follow
-the instructions on that page.
+If you have not already done so, you should generate and upload a
+SSH key: open @uref{https://savannah.gnu.org/my/} in your browser,
+go to @q{Account Configuration}, then to something like
+@q{Edit SSH Keys}, and follow the instructions on that page.
 
 You may then:
 
@@ -276,6 +277,21 @@ You may then:
 git push origin
 @end example
 
+Note that recent versions of Git (Git 1.6.3 or later) will issue a
+big warning if the above command is used.  The simplest solution
+is to add a new section to @file{.git/config} that looks like
+this:
+
+@example
+[push]
+        default = matching
+@end example
+
+@noindent
+Then @code{git push origin} will work as before.  For more
+details, consult the @code{git push} man page.
+
+
 @node Advanced git stuff
 @section Advanced git stuff
 
@@ -293,11 +309,12 @@ Some Git commands are introduced first, then a workflow with several
 Git branches of LilyPond source code is presented.
 
 @menu
-* Introduction to Git concepts::
-* Git commands for managing several branches::
-* Working on LilyPond sources with several branches::
-* Git log::
-* Applying git patches::
+* Introduction to Git concepts::  
+* Git commands for managing several branches::  
+* Working on LilyPond sources with several branches::  
+* Git log::                     
+* Applying git patches::        
+* Reverting all local changes::  
 @end menu
 
 
@@ -511,7 +528,6 @@ order to apply pushed changes in the working tree of the main
 repository.
 
 
-
 @node Git log
 @subsection Git log
 
@@ -529,22 +545,45 @@ gitk        # shows history graphically
 @warning{The @code{gitk} command may require a separate @code{gitk} package,
 available in the appropriate distribution's repositories.}
 
+
 @node Applying git patches
 @subsection Applying git patches
 
-Well-formed git patches should be committed with
+Well-formed git patches created with @code{git format-patch}
+should be committed with the following command:
 
 @example
-git am
+git am @var{patch}
 @end example
 
-Patches created without @code{git format-patch} should be
-committed with
+Patches created without @code{git format-patch} can be applied in
+two steps.  The first step is to apply the patch to the working
+tree:
 
 @example
-git apply
+git apply @var{patch}
 @end example
 
+@noindent
+The second step is to commit the changes and give credit to the
+author of the patch.  This can be done with the following command:
+
+@example
+git commit -a --author="First Last <user@@example.net>"
+@end example
+
+
+@node Reverting all local changes
+@subsection Reverting all local changes
+
+Sometimes git will become hopelessly confused, and you just want
+to get back to a known, stable state.  This command destroys any
+local changes you have made, but at least you get back to the
+current online version:
+
+@example
+git reset --hard origin/master
+@end example
 
 
 @node Git on Windows
@@ -902,3 +941,11 @@ supplement these include
 
 Once familiarity with using git on Windows has been gained the
 standard git manuals can be used to learn about these.
+
+
+@node Development inside VirtualBox (compiling on Windows)
+@section Development inside VirtualBox (compiling on Windows)
+
+
+
+