$ tar zxf frotz.tar.gz @@ -438,10 +439,19 @@ $ git add . (1) $ git commit -m 'import of frotz source tree.' $ git tag v2.43 (2)
From 7464064e9210aaa7590eb4ee592a1d3e069c386f Mon Sep 17 00:00:00 2001
From: Junio C Hamano
-running without "—full" is usually cheap and assures the
+running without --full is usually cheap and assures the
repository health reasonably well.
-without "-a" repacks incrementally. repacking every 4-5MB
+without -a repacks incrementally. repacking every 4-5MB
of loose objects accumulation may be a good rule of thumb.
-git-add(1) and git-update-index(1) to manage - the index file. +git-add(1) to manage the index file.
-git-pull(1) with "." as the remote to merge between - local branches. +git-merge(1) to merge between local branches.
Use a tarball as a starting point for a new repository:
-+
+$ tar zxf frotz.tar.gz @@ -438,10 +439,19 @@ $ git add . (1) $ git commit -m 'import of frotz source tree.' $ git tag v2.43 (2)
+ -<1> add everything under the current directory. -<2> make a lightweight, unannotated tag.
-+add everything under the current directory. +
++make a lightweight, unannotated tag. +
+-revert your botched changes in "curses/ux_audio_oss.c". +revert your botched changes in curses/ux_audio_oss.c.
you need to tell git if you added a new file; removal and -modification will be caught if you do "commit -a" later. +modification will be caught if you do git commit -a later.
-merge a topic branch into your master branch +merge a topic branch into your master branch. You can also use +git pull . alsa-audio, i.e. pull from the local repository.
review commit logs; other forms to limit output can be -combined and include —max-count=10 (show 10 commits), —until=2005-12-10. +combined and include --max-count=10 (show 10 commits), +--until=2005-12-10, etc.
-view only the changes that touch what's in curses/ -directory, since v2.43 tag. +view only the changes that touch what's in curses/ +directory, since v2.43 tag.
-"pull" fetches from "origin" by default and merges into the +git pull fetches from origin by default and merges into the current branch.
-from time to time, obtain official tags from the "origin" -and store them under .git/refs/tags/. +from time to time, obtain official tags from the origin +and store them under .git/refs/tags/.
satellite$ git clone mothership:frotz/.git frotz (1) +satellite$ git clone mothership:frotz frotz (1) satellite$ cd frotz -satellite$ cat .git/remotes/origin (2) -URL: mothership:frotz/.git -Pull: master:origin -satellite$ echo 'Push: master:satellite' >>.git/remotes/origin (3) +satellite$ git repo-config --get-regexp '^(remote|branch)\.' (2) +remote.origin.url mothership:frotz +remote.origin.fetch refs/heads/*:refs/remotes/origin/* +branch.master.remote origin +branch.master.merge refs/heads/master +satellite$ git repo-config remote.origin.push \ + master:refs/remotes/satellite/master (3) satellite$ edit/compile/test/commit satellite$ git push origin (4) mothership$ cd frotz mothership$ git checkout master -mothership$ git pull . satellite (5)+mothership$ git merge satellite/master (5)
-clone creates this file by default. It arranges "git pull" -to fetch and store the master branch head of mothership machine -to local "origin" branch. +clone sets these configuration variables by default. +It arranges git pull to fetch and store the branches of mothership +machine to local remotes/origin/* tracking branches.
-arrange "git push" to push local "master" branch to -"satellite" branch of the mothership machine. +arrange git push to push local master branch to +remotes/satellite/master branch of the mothership machine.
-push will stash our work away on "satellite" branch on the -mothership machine. You could use this as a back-up method. +push will stash our work away on remotes/satellite/master +tracking branch on the mothership machine. You could use this as +a back-up method.
-forward port all changes in private2.6.14 branch to master branch +forward port all changes in private2.6.14 branch to master branch without a formal "merging".
-restart "pu" every time from the master. +restart pu every time from the next.
make sure I did not accidentally rewind master beyond what I -already pushed out. "ko" shorthand points at the repository I have +already pushed out. ko shorthand points at the repository I have at kernel.org, and looks like this:
$ cat .git/remotes/ko URL: kernel.org:/pub/scm/git/git.git Pull: master:refs/tags/ko-master +Pull: next:refs/tags/ko-next Pull: maint:refs/tags/ko-maint Push: master +Push: next Push: +pu Push: maint
In the output from "git show-branch", "master" should have -everything "ko-master" has.
+In the output from git show-branch, master should have +everything ko-master has, and next should have +everything ko-next has.
@@ -953,7 +972,7 @@ $ grep git /etc/shells (2)
log-in shell is set to /usr/bin/git-shell, which does not -allow anything but "git push" and "git pull". The users should +allow anything but git push and git pull. The users should get an ssh access to the machine.
git-reflog - + Manage reflog information +
+Reflog is a mechanism to record when the tip of branches are +updated. This command is to manage the information recorded in it.
+The subcommand "expire" is used to prune older reflog entries. +Entries older than expire time, or entries older than +expire-unreachable time and are not reachable from the current +tip, are removed from the reflog. This is typically not used +directly by the end users — instead, see git-gc(1).
++ Entries older than this time are pruned. Without the + option it is taken from configuration gc.reflogExpire, + which in turn defaults to 90 days. +
++ Entries older than this time and are not reachable from + the current tip of the branch are pruned. Without the + option it is taken from configuration + gc.reflogExpireUnreachable, which in turn defaults to + 30 days. +
++ Instead of listing <refs> explicitly, prune all refs. +
+Written by Junio C Hamano <junkio@cox.net>
+Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
+Part of the git(7) suite
+diff --git a/everyday.txt b/everyday.txt index 967767189..5d17ace72 100644 --- a/everyday.txt +++ b/everyday.txt @@ -47,11 +47,11 @@ $ git repack <3> $ git prune <4> ------------ + -<1> running without "--full" is usually cheap and assures the +<1> running without `\--full` is usually cheap and assures the repository health reasonably well. <2> check how many loose objects there are and how much disk space is wasted by not repacking. -<3> without "-a" repacks incrementally. repacking every 4-5MB +<3> without `-a` repacks incrementally. repacking every 4-5MB of loose objects accumulation may be a good rule of thumb. <4> after repack, prune removes the duplicate loose objects. @@ -80,8 +80,7 @@ following commands. * gitlink:git-checkout[1] and gitlink:git-branch[1] to switch branches. - * gitlink:git-add[1] and gitlink:git-update-index[1] to manage - the index file. + * gitlink:git-add[1] to manage the index file. * gitlink:git-diff[1] and gitlink:git-status[1] to see what you are in the middle of doing. @@ -91,8 +90,7 @@ following commands. * gitlink:git-reset[1] and gitlink:git-checkout[1] (with pathname parameters) to undo changes. - * gitlink:git-pull[1] with "." as the remote to merge between - local branches. + * gitlink:git-merge[1] to merge between local branches. * gitlink:git-rebase[1] to maintain topic branches. @@ -101,7 +99,7 @@ following commands. Examples ~~~~~~~~ -Use a tarball as a starting point for a new repository: +Use a tarball as a starting point for a new repository.:: + ------------ $ tar zxf frotz.tar.gz @@ -123,7 +121,7 @@ $ edit/compile/test $ git checkout -- curses/ux_audio_oss.c <2> $ git add curses/ux_audio_alsa.c <3> $ edit/compile/test -$ git diff <4> +$ git diff HEAD <4> $ git commit -a -s <5> $ edit/compile/test $ git reset --soft HEAD^ <6> @@ -131,15 +129,15 @@ $ edit/compile/test $ git diff ORIG_HEAD <7> $ git commit -a -c ORIG_HEAD <8> $ git checkout master <9> -$ git pull . alsa-audio <10> +$ git merge alsa-audio <10> $ git log --since='3 days ago' <11> $ git log v2.43.. curses/ <12> ------------ + <1> create a new topic branch. -<2> revert your botched changes in "curses/ux_audio_oss.c". +<2> revert your botched changes in `curses/ux_audio_oss.c`. <3> you need to tell git if you added a new file; removal and -modification will be caught if you do "commit -a" later. +modification will be caught if you do `git commit -a` later. <4> to see what changes you are committing. <5> commit everything as you have tested, with your sign-off. <6> take the last commit back, keeping what is in the working tree. @@ -147,11 +145,13 @@ modification will be caught if you do "commit -a" later. <8> redo the commit undone in the previous step, using the message you originally wrote. <9> switch to the master branch. -<10> merge a topic branch into your master branch +<10> merge a topic branch into your master branch. You can also use +`git pull . alsa-audio`, i.e. pull from the local repository. <11> review commit logs; other forms to limit output can be -combined and include --max-count=10 (show 10 commits), --until='2005-12-10'. -<12> view only the changes that touch what's in curses/ -directory, since v2.43 tag. +combined and include `\--max-count=10` (show 10 commits), +`\--until=2005-12-10`, etc. +<12> view only the changes that touch what's in `curses/` +directory, since `v2.43` tag. Individual Developer (Participant)[[Individual Developer (Participant)]] @@ -193,7 +193,7 @@ $ git fetch --tags <8> + <1> repeat as needed. <2> extract patches from your branch for e-mail submission. -<3> "pull" fetches from "origin" by default and merges into the +<3> `git pull` fetches from `origin` by default and merges into the current branch. <4> immediately after pulling, look at the changes done upstream since last time we checked, only in the @@ -201,37 +201,41 @@ area we are interested in. <5> fetch from a specific branch from a specific repository and merge. <6> revert the pull. <7> garbage collect leftover objects from reverted pull. -<8> from time to time, obtain official tags from the "origin" -and store them under .git/refs/tags/. +<8> from time to time, obtain official tags from the `origin` +and store them under `.git/refs/tags/`. Push into another repository.:: + ------------ -satellite$ git clone mothership:frotz/.git frotz <1> +satellite$ git clone mothership:frotz frotz <1> satellite$ cd frotz -satellite$ cat .git/remotes/origin <2> -URL: mothership:frotz/.git -Pull: master:origin -satellite$ echo 'Push: master:satellite' >>.git/remotes/origin <3> +satellite$ git repo-config --get-regexp '^(remote|branch)\.' <2> +remote.origin.url mothership:frotz +remote.origin.fetch refs/heads/*:refs/remotes/origin/* +branch.master.remote origin +branch.master.merge refs/heads/master +satellite$ git repo-config remote.origin.push \ + master:refs/remotes/satellite/master <3> satellite$ edit/compile/test/commit satellite$ git push origin <4> mothership$ cd frotz mothership$ git checkout master -mothership$ git pull . satellite <5> +mothership$ git merge satellite/master <5> ------------ + <1> mothership machine has a frotz repository under your home directory; clone from it to start a repository on the satellite machine. -<2> clone creates this file by default. It arranges "git pull" -to fetch and store the master branch head of mothership machine -to local "origin" branch. -<3> arrange "git push" to push local "master" branch to -"satellite" branch of the mothership machine. -<4> push will stash our work away on "satellite" branch on the -mothership machine. You could use this as a back-up method. +<2> clone sets these configuration variables by default. +It arranges `git pull` to fetch and store the branches of mothership +machine to local `remotes/origin/*` tracking branches. +<3> arrange `git push` to push local `master` branch to +`remotes/satellite/master` branch of the mothership machine. +<4> push will stash our work away on `remotes/satellite/master` +tracking branch on the mothership machine. You could use this as +a back-up method. <5> on mothership machine, merge the work done on the satellite machine into the master branch. @@ -247,7 +251,7 @@ $ git format-patch -k -m --stdout v2.6.14..private2.6.14 | + <1> create a private branch based on a well known (but somewhat behind) tag. -<2> forward port all changes in private2.6.14 branch to master branch +<2> forward port all changes in `private2.6.14` branch to `master` branch without a formal "merging". @@ -284,13 +288,13 @@ $ mailx <3> & s 2 3 4 5 ./+to-apply & s 7 8 ./+hold-linus & q -$ git checkout master +$ git checkout -b topic/one master $ git am -3 -i -s -u ./+to-apply <4> $ compile/test $ git checkout -b hold/linus && git am -3 -i -s -u ./+hold-linus <5> $ git checkout topic/one && git rebase master <6> -$ git checkout pu && git reset --hard master <7> -$ git pull . topic/one topic/two && git pull . hold/linus <8> +$ git checkout pu && git reset --hard next <7> +$ git merge topic/one topic/two && git merge hold/linus <8> $ git checkout maint $ git cherry-pick master~4 <9> $ compile/test @@ -307,29 +311,32 @@ they are. that are not quite ready. <4> apply them, interactively, with my sign-offs. <5> create topic branch as needed and apply, again with my -sign-offs. +sign-offs. <6> rebase internal topic branch that has not been merged to the master, nor exposed as a part of a stable branch. -<7> restart "pu" every time from the master. +<7> restart `pu` every time from the next. <8> and bundle topic branches still cooking. <9> backport a critical fix. <10> create a signed tag. <11> make sure I did not accidentally rewind master beyond what I -already pushed out. "ko" shorthand points at the repository I have +already pushed out. `ko` shorthand points at the repository I have at kernel.org, and looks like this: + ------------ $ cat .git/remotes/ko URL: kernel.org:/pub/scm/git/git.git Pull: master:refs/tags/ko-master +Pull: next:refs/tags/ko-next Pull: maint:refs/tags/ko-maint Push: master +Push: next Push: +pu Push: maint ------------ + -In the output from "git show-branch", "master" should have -everything "ko-master" has. +In the output from `git show-branch`, `master` should have +everything `ko-master` has, and `next` should have +everything `ko-next` has. <12> push out the bleeding edge. <13> push the tag out, too. @@ -406,7 +413,7 @@ $ grep git /etc/shells <2> ------------ + <1> log-in shell is set to /usr/bin/git-shell, which does not -allow anything but "git push" and "git pull". The users should +allow anything but `git push` and `git pull`. The users should get an ssh access to the machine. <2> in many distributions /etc/shells needs to list what is used as the login shell. diff --git a/git-count-objects.html b/git-count-objects.html index 53928170c..b09d7db8c 100644 --- a/git-count-objects.html +++ b/git-count-objects.html @@ -289,8 +289,8 @@ them, to help you decide when it is a good time to repack.
In addition to the number of loose objects and disk space consumed, it reports the number of in-pack - objects, and number of objects that can be removed by - running git-prune-packed. + objects, number of packs, and number of objects that can be + removed by running git-prune-packed.
@@ -309,7 +309,7 @@ them, to help you decide when it is a good time to repack.
diff --git a/git-count-objects.txt b/git-count-objects.txt index 198ce77a8..c59df6438 100644 --- a/git-count-objects.txt +++ b/git-count-objects.txt @@ -20,8 +20,8 @@ OPTIONS -v:: In addition to the number of loose objects and disk space consumed, it reports the number of in-pack - objects, and number of objects that can be removed by - running `git-prune-packed`. + objects, number of packs, and number of objects that can be + removed by running `git-prune-packed`. Author diff --git a/git-reflog.html b/git-reflog.html new file mode 100644 index 000000000..3f15425d0 --- /dev/null +++ b/git-reflog.html @@ -0,0 +1,342 @@ + + +
+ + + +
+ +
+