X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Ftutorial.txt;h=957ea96b83c9f37ba9cc0556438d1fd9a919d2d5;hb=180926636e47ecfe28d03cec493af75899994f0f;hp=a6eaba7b105f656c6293bbbdb19bbd39fc176228;hpb=d327b89a224e6d8db37ad97be1f8c0a54e380a29;p=git.git diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt index a6eaba7b..957ea96b 100644 --- a/Documentation/tutorial.txt +++ b/Documentation/tutorial.txt @@ -481,17 +481,29 @@ repositories you often want to make sure that the index cache is in some known state (you don't know _what_ they've done and not yet checked in), so usually you'll precede the "git-update-cache" with a - git-read-tree HEAD + git-read-tree --reset HEAD git-update-cache --refresh -which will force a total index re-build from the tree pointed to by -HEAD. +which will force a total index re-build from the tree pointed to by HEAD +(it resets the index contents to HEAD, and then the git-update-cache +makes sure to match up all index entries with the checked-out files). + +The above can also be written as simply + + git reset + +and in fact a lot of the common git command combinations can be scripted +with the "git xyz" interfaces, and you can learn things by just looking +at what the git-*-script scripts do ("git reset" is the above two lines +implemented in "git-reset-script", but some things like "git status" and +"git commit" are slightly more complex scripts around the basic git +commands). -In fact, many public remote repositories will not contain any of the -checked out files or even an index file, and will _only_ contain the -actual core git files. Such a repository usually doesn't even have the +NOTE! Many (most?) public remote repositories will not contain any of +the checked out files or even an index file, and will _only_ contain the +actual core git files. Such a repository usually doesn't even have the ".git" subdirectory, but has all the git files directly in the -repository. +repository. To create your own local live copy of such a "raw" git repository, you'd first create your own subdirectory for the project, and then copy the