path: root/Documentation/tutorial.txt
AgeCommit message (Collapse)Author
2007-08-25Documentation: Correct various misspellings and typos.Brian Hetro
Fix minor typos throughout the documentation. Signed-off-by: Brian Hetro <> Signed-off-by: Junio C Hamano <>
2007-07-09Merge branch 'maint'Junio C Hamano
* maint: user-manual: fix directory name in git-archive example user-manual: more explanation of push and pull usage tutorial: Fix typo user-manual: grammar and style fixes
2007-07-08tutorial: Fix typoJ. Bruce Fields
"You" should be "Alice" here. Signed-off-by: "J. Bruce Fields" <>
2007-07-06fix remote.origin.url in tutorial.txtAlecs King
Bob cloned from Alice. The origin url is actually Alice's repo. Signed-off-by: Alecs King <> Signed-off-by: Junio C Hamano <>
2007-06-10tutorial: use "project history" instead of "changelog" in headerJ. Bruce Fields
The word "changelog" seems a little too much like jargon to me, and beginners must understand section headers so they know where to look for help. Signed-off-by: "J. Bruce Fields" <>
2007-05-19tutorial: revise index introductionJ. Bruce Fields
The embarassing history of this tutorial is that I started it without really understanding the index well, so I avoided mentioning it. And we all got the idea that "index" was a word to avoid using around newbies, but it was reluctantly mentioned that *something* had to be said. The result is a little awkward: the discussion of the index never actually uses that word, and isn't well-integrated into the surrounding material. Let's just go ahead and use the word "index" from the very start, and try to demonstrate its use with a minimum of lecturing. Also, remove discussion of using git-commit with explicit filenames. We're already a bit slow here to get people to their first commit, and I'm not convinced this is really so important. Signed-off-by: "J. Bruce Fields" <>
2007-05-19tutorials: add user-manual linksJ. Bruce Fields
Mention the user manual, especially as an alternative introduction for user's mainly interested in read-only operations. And fix a typo while we're there. Signed-off-by: "J. Bruce Fields" <>
2007-05-04Mention version 1.5.1 in tutorial and user-manualCarl Worth
Most other documentation will frequently be read from an installation of git so will naturally be associated with the installed version. But these two documents in particular are often read from web pages while users are still exploring git. It's important to mention version 1.5.1 since these documents provide example commands that won't work with previous versions of git. Signed-off-by: Junio C Hamano <>
2007-04-19Fix unmatched emphasis tag in git-tutorialAndrew Ruder
In asciidoc 7.1.2 and prior there is no obvious way to get: 'add'ing to emphasize only the "add", instead it treats the first apostrophe as the beginning of an emphasis, and the second apostrophe as a regular apostrophe and makes the rest of the line an emphasis since there is no closing apostrophe. In the newer asciidoc you can do it pretty easily with __add__ing but I'm not sure it would be best to make that a prereq for something as silly as this. Signed-off-by: Andrew Ruder <> Signed-off-by: Junio C Hamano <>
2007-02-04Why is it bad to rewind a branch that has already been pushed out?Robin Rosenberg
Mention git-revert as an alternative to git-reset to revert changes. Signed-off-by: Robin Rosenberg <> Signed-off-by: Junio C Hamano <>
2007-02-04Why is it bad to rewind a branch that has already been pushed out?Junio C Hamano
I was reading the tutorial and noticed that we say this: Also, don't use "git reset" on a publicly-visible branch that other developers pull from, as git will be confused by history that disappears in this way. I do not think this is a good explanation. For example, if we do this: (1) I build a series and push it out. ---o---o---o---j (2) Alice clones from me, and builds two commits on top of it. ---o---o---o---j---a---a (3) I rewind one and build a few, and push them out. ---o---o---o...j \ h---h---h---h (4) Alice pulls from me again: ---o---o---o---j---a---a---* \ / h---h---h---h Contrary to the description, git will happily have Alice merge between the two branches, and never gets confused. Maybe I did not want to have 'j' because it was an incomplete solution to some problem, and Alice may have fixed it up with her changes, while I abandoned that approach I started with 'j', and worked on something completely unrelated in the four 'h' commits. In such a case, the merge Alice would make would be very sensible, and after she makes the merge if I pull from her, the world will be perfect. I started something with 'j' and dropped the ball, Alice picked it up and perfected it while I went on to work on something else with 'h'. This would be a perfect example of distributed parallel collaboration. There is nothing confused about it. The case the rewinding becomes problematic is if the work done in 'h' tries to solve the same problem as 'j' tried to solve in a different way. Then the merge forced on Alice would make her pick between my previous attempt with her fixups (j+a) and my second attempt (h). If 'a' commits were to fix up what 'j' started, presumably Alice already studied and knows enough about the problem so she should be able to make an informed decision to pick between what 'j+a' and 'h' do. A lot worse case is if Alice's work is not at all related to what 'j' wanted to do (she did not mean to pick up from where I left off -- she just wanted to work on something different). Then she would not be familiar enough with what 'j' and 'h' tried to achieve, and I'd be forcing her to pick between the two. Of course if she can make the right decision, then again that is a perfect example of distributed collaboration, but that does not change the fact that I'd be forcing her to clean up my mess. Signed-off-by: Junio C Hamano <>
2007-02-03Tutorial: fix asciidoc formatting of "git add" section.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2007-01-29[PATCH] Rename git-repo-config to git-config.Tom Prince
Signed-off-by: Tom Prince <> Signed-off-by: Junio C Hamano <>
2007-01-17tutorial: shorthand for remotes but show distributed nature of gitJunio C Hamano
* Promiscous pull shows the distributed nature of git better. * Add a new step after that to teach "remote add". * Highlight that with the shorthand defined you will get remote tracking branches for free. * Fix Alice's workflow. Signed-off-by: Santi Béjar <> Signed-off-by: Junio C Hamano <>
2007-01-17tutorial: Use only separate layoutSanti Béjar
Then the newbies only have to understand one layout. Signed-off-by: Santi Béjar <> Signed-off-by: Junio C Hamano <>
2007-01-15some doc updatesNicolas Pitre
1) talk about "git merge" instead of "git pull ." 2) suggest "git repo-config" instead of directly editing config files 3) echo "URL: blah" > .git/remotes/foo is obsolete and should be "git repo-config blah" 4) support for partial URL prefix has been removed (see commit ea560e6d64374ec1f6c163c276319a3da21a1345) so drop mention of it. Signed-off-by: Nicolas Pitre <> Signed-off-by: Junio C Hamano <>
2007-01-08"init-db" can really be just "init"Nicolas Pitre
Make "init" the equivalent of "init-db". This should make first GIT impression a little more friendly. Signed-off-by: Nicolas Pitre <> Signed-off-by: Junio C Hamano <>
2007-01-07Documentation: tutorial editingJ. Bruce Fields
Edit for conciseness. Add a "Making changes" section header. When possible, make sure that stuff in text boxes could be entered literally. (Don't use "..." unless we want a user to type that.) Move 'commit -a' example into a literal code section, clarify that it finds modified files automatically. Signed-off-by: "J. Bruce Fields" <> Signed-off-by: Junio C Hamano <>
2007-01-03Documentation/tutorial: misc updatesSanti Béjar
- Teach how to delete a branch with "git branch -d name". - Usually a commit has one parent; merge has more. - Teach "git show" instead of "git cat-file -p". Signed-off-by: Santi Béjar <> Signed-off-by: Junio C Hamano <>
2007-01-03tutorial: misc updates.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2007-01-01Documentation: update tutorial's discussion of originJ. Bruce Fields
Update tutorial's discussion of origin branch to reflect new defaults, and include a brief mention of git-repo-config. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-12-16Provide more meaningful output from 'git init-db'.Shawn O. Pearce
Back in the old days of Git when people messed around with their GIT_DIR environment variable more often it was nice to know whether or not git-init-db created a .git directory or used GIT_DIR. As most users at that time were rather technical UNIXy folk the message "defaulting to local storage area" made sense to some and seemed reasonable. But it doesn't really convey any meaning to the new Git user, as they don't know what a 'local storage area is' nor do they know enough about Git to care. It also really doesn't tell the experienced Git user a whole lot about the command they just ran, especially if they might be reinitializing an existing repository (e.g. to update hooks). So now we print out what we did ("Initialized empty" or "Reinitialized existing"), what type of repository ("" or "shared"), and what location the repository will be in ("$GIT_DIR"). Suggested in part by Andy Parkins in his Git 'niggles' list (<>). Signed-off-by: Shawn O. Pearce <> Signed-off-by: Junio C Hamano <>
2006-12-05make 'git add' a first class user friendly interface to the indexNicolas Pitre
This brings the power of the index up front using a proper mental model without talking about the index at all. See for example how all the technical discussion has been evacuated from the git-add man page. Any content to be committed must be added together. Whether that content comes from new files or modified files doesn't matter. You just need to "add" it, either with git-add, or by providing git-commit with -a (for already known files only of course). No need for a separate command to distinguish new vs modified files please. That would only screw the mental model everybody should have when using GIT. Signed-off-by: Nicolas Pitre <> Signed-off-by: Junio C Hamano <>
2006-11-29Merge branch 'maint'Junio C Hamano
* branch 'maint': Document git-repo-config --bool/--int options. tutorial: talk about early and don't start with commit -a git-blame: fix rev parameter handling.
2006-11-29tutorial: talk about early and don't start with commit -aJunio C Hamano
Introducing yourself to git early would be a good idea; otherwise the user may not find the mistake until much later when "git log" is learned. Teaching "commit -a" without saying that it is a shortcut for listing the paths to commit leaves the user puzzled. Teach the form with explicit paths first. Signed-off-by: Junio C Hamano <>
2006-11-26Documentation: clarify tutorial pull/merge discussionJ. Bruce Fields
Attempt to clarify somewhat the difference between pull and merge, and give a little more details on the pull syntax. I'm still not happy with this section: the explanation of the origin branch isn't great, but maybe that should be left alone pending the use-separate-remotes change; and we need to explain how to set up a public repository and push to it. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-11-22Doc: Make comment about merging in tutorial.txt more clearPaolo Ciarrocchi
Rephrased a sentence in order to make more clear the concept of pull . branch Signed-off-by: Paolo Ciarrocchi <> Signed-off-by: Junio C Hamano <>
2006-06-07Some doc typo fixesFrancis Daly
All should be clear enough, except perhaps committish / commitish. I just kept the more-used one within the current docs. [jc: with rephrasing of check-ref-format description later discussed on the list] Signed-off-by: Francis Daly <> Signed-off-by: Junio C Hamano <>
2006-06-04Documentation: Spelling fixesHorst H. von Brand
Signed-off-by: Horst H. von Brand <> Signed-off-by: Junio C Hamano <>
2006-05-30documentation: add brief mention of cat-file to tutorial part IJ. Bruce Fields
I'd rather avoid git cat-file so early on, but the git-cat-file -p old-commit:/path/to/file trick is too useful.... Also fix a nearby typo while we're at it. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-05-30documentation: mention gitk font adjustment in tutorialJ. Bruce Fields
Kind of silly, but the font I get by default in gitk makes it mostly unusable for me, so this is the first thing I'd want to know about. (But maybe there's a better suggestion than just Ctrl-='ing until satisfied.) Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-05-22tutorial: add discussion of index file, object databaseJ. Bruce Fields
Add a sequel to tutorial.txt which discusses the index file and the object database. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-05-22tutorial: expanded discussion of commit historyJ. Bruce Fields
Expand the history-browsing section of the tutorial a bit, in part to address Junio's suggestion that we mention "git grep" and Linus's complaint that people are missing the flexibility of the commandline interfaces for selecting commits. This reads a little more like a collection of examples than a "tutorial", but maybe that's what people need at this point. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-05-22tutorial: replace "whatchanged" by "log"J. Bruce Fields
Junio suggested changing references to git-whatchanged to git-log. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-03-04AsciiDoc fix for tutorialFrancis Daly
RE \^.+\^ becomes <sup>. Not wanted here Signed-off-by: Junio C Hamano <>
2006-01-23Documentation: finishing touches to the new tutorial.Junio C Hamano
We forgot to update the primary link from git.html leading to the tutorial, and also forgot to build and install the renamed core-tutorial document. Signed-off-by: Junio C Hamano <>
2006-01-23New tutorialJ. Bruce Fields
The current Documentation/tutorial.txt concentrates on the lower-level git interfaces. So it's useful to people developing alternative porcelains, to advanced users, etc., but not so much to beginning users. I think it makes sense for the main tutorial to address those beginnning users, so with this patch I'm proposing that we move Documentation/tutorial.txt to Documentation/core-tutorial.txt and replace it by a new tutorial. Signed-off-by: J. Bruce Fields <> Signed-off-by: Junio C Hamano <>
2006-01-15show-branch: make the current branch and merge commits stand out.Junio C Hamano
This changes the character used to mark the commits that is on the branch from '+' to '*' for the current branch, to make it stand out. Also we show '-' for merge commits. When you have a handful branches with relatively long diversion, it is easier to see which one is the current branch this way. Signed-off-by: Junio C Hamano <>
2005-12-24Tutorial: mention shared repository management.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-12-21A shared repository should be writable by members.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-12-17Documentation: HTTP needs update-server-info.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-12-15Documentation: tutorialJunio C Hamano
At the beginning of tutorial, refer the reader to everyday if she has not done so yet. Signed-off-by: Junio C Hamano <>
2005-12-13Documentation: not learning core git commands.Junio C Hamano
The initial section of tutorial was too heavy on internal workings for the first-time readers, so rewrite the introductory section of git(7) to start with "not learning core git commands" section and refer them to README to grasp the basic concepts, then Everyday to give overview with task/role oriented examples for minimum set of commands, and finally the tutorial. Also add to existing note in the tutorial that many too technical descriptions can be skipped by a casual reader. I initially started to review the tutorial, with the objective of ripping out the detailed technical information altogether, but I found that the level of details in the initial couple of sections that talk about refs and the object database in a hands-on fashion was about rigth, and left all of them there. I feel that reading about fsck-index and repack is too abstract without being aware of these directories and files. Signed-off-by: Junio C Hamano <>
2005-12-08Documentation(tutorial): adjust merge example to the new merge world order.Junio C Hamano
Signed-off-by: Junio C Hamano <>
2005-12-05Documentation: shared repository management in tutorial.Junio C Hamano
The branch policy script I outlined was improved and polished by Carl and posted on the list twice since then. It is a shame not to pick it up, so replace the original outline in howto/update-hook-example.txt with the latest from Carl. Also talk about setting up git-shell to allow git-push/git-fetch only SSH access to a shared repository host in the tutorial. Signed-off-by: Junio C Hamano <>
2005-11-30Tutorial: adjust merge example to recursive strategy.Junio C Hamano
Current default, merge-recursive, gives slightly different message while working from merge-resolve which was used to prepare the illustration in the tutorial. Signed-off-by: Junio C Hamano <>
2005-11-21tutorial: setting up a tree for subsystem maintainersJunio C Hamano
The "copying over packs" step is to prevent the objects available in upstream repository to get expanted in the subsystem maintainer tree, and is still valid if the upstream repository do not live on the same machine. But if they are on the same machine using objects/info/alternates is cleaner. Signed-off-by: Junio C Hamano <>
2005-11-11Change 'cache' to 'index' in the docsLukas_Sandström
This patch makes the documentation refer to the index as index instead of cache, but some references still remain. (e.g. git-update-index.txt) Signed-off-by: Lukas Sandström <> Signed-off-by: Junio C Hamano <>
2005-11-08Use consistent shell prompts and example style.Jon Loeliger
Signed-off-by: Jon Loeliger <> Signed-off-by: Junio C Hamano <>
2005-11-08Tutorial: do not use 'git resolve'.Junio C Hamano
Use 'git merge' instead. Signed-off-by: Junio C Hamano <>