Changes between Version 23 and Version 24 of GitLinuxPMI-HOWTO


Ignore:
Timestamp:
Sep 28, 2013, 3:12:48 PM (8 years ago)
Author:
szaman
Comment:

Formatting

Legend:

Unmodified
Added
Removed
Modified
  • GitLinuxPMI-HOWTO

    v23 v24  
    11== Git Repository URLs ==
    22
    3  * Read/Write (requires shell access):
    4 !ssh://linuxpmi.org/srv/git/current
    5  * Read-Only (anonymous access): http://linuxpmi.org/linuxpmi.git/
     3 * !Read/Write (requires shell access):
     4
     5  !ssh://linuxpmi.org/srv/git/current
     6
     7 * Read-Only (anonymous access):
     8
     9  http://linuxpmi.org/linuxpmi.git/
    610
    711== Other Git Introductions ==
     
    1115version of git.
    1216
    13  *
    14 [http://www.kernel.org/pub/software/scm/git/docs/v1.5.6.5/gittutorial.html
    15  Git Tutorial]
    16  *
    17 [http://www.kernel.org/pub/software/scm/git/docs/v1.5.6.5/everyday.html
    18 Everyday Git] -- Very dense guide that introduces 95% of the git
    19 commands you'll ever use.
    20  * [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to Git] --
    21 While we are a kernel project, the repository itself is not laid out
    22 like the kernel, but this is still a good guide.  Also, in the future it
    23  would probably be more convenient hacking to be a "branch" off Linus's
    24 git tree.
    25  * [http://eagain.net/articles/git-for-computer-scientists/ Git for
    26 CompScis] -- Fundamentals of git from a unique point of view.
     17 * [http://www.kernel.org/pub/software/scm/git/docs/v1.5.6.5/gittutorial.html Git Tutorial]
     18 * [http://www.kernel.org/pub/software/scm/git/docs/v1.5.6.5/everyday.html Everyday Git] -- Very dense guide that introduces 95% of the git  commands you'll ever use.
     19 * [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to Git] -- While we are a kernel project, the repository itself is not laid out like the kernel, but this is still a good guide.  Also, in the future it  would probably be more convenient hacking to be a "branch" off Linus's git tree.
     20 * [http://eagain.net/articles/git-for-computer-scientists/ Git for CompScis] -- Fundamentals of git from a unique point of view.
    2721 * [http://www.gitcasts.com GitCasts]
    28  * [http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html Git
    29 Magic] -- Long and detailed guide to git written while learning git,
    30 despite not understanding the manual.
    31  *
    32 [http://www.redhatmagazine.com/2008/05/02/shipping-quality-code-with-git/
    33  Shipping Quality Code with Git] -- Guide to making you commits "look
    34 good" that actually give a lot of nice git tricks.  Be sure to read the
    35 comments, they provide good cautions about these tricks from Linus.
    36  * [http://git.or.cz/gitwiki/GitFaq Git FAQ] -- Misc. answers for
    37 general git questions.
     22 * [http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html Git Magic] -- Long and detailed guide to git written while learning git, despite not understanding the manual.
     23 * [http://www.redhatmagazine.com/2008/05/02/shipping-quality-code-with-git/ Shipping Quality Code with Git] -- Guide to making you commits "look  good" that actually give a lot of nice git tricks.  Be sure to read the comments, they provide good cautions about these tricks from Linus.
     24 * [http://git.or.cz/gitwiki/GitFaq Git FAQ] -- Misc. answers for general git questions.
    3825
    3926=== Retrieving the source with git ===
    4027
    41 First, you'll need to make sure you have git and quilt installed, as
    42 well as the ability to compile a normal linux 2.6.17 kernel. after that,
    43  run one of the two following commands (depending on whether you have
    44 shell access to the server or not)
     28First, you'll need to make sure you have git and quilt installed, as well as the ability to compile a normal linux 2.6.17 kernel. after that, run one of the two following commands (depending on whether you have shell access to the server or not)
    4529
    4630{{{
     
    5236}}}
    5337
    54 you'll only use this command once.  This command pulls down all the data
    55  in the repository and generally prepares your system to work with that
    56 repository.  The git-clone(1) man page has the gory details.
     38you'll only use this command once.  This command pulls down all the data in the repository and generally prepares your system to work with that repository.  The git-clone(1) man page has the gory details.
    5739
    5840== What is all this stuff? ==
    5941
    60 under the linuxPMI directory created by that command, you'll find a 2.6
    61 directory, and inside that you'll find directories for 'kernel',
    62 'notes', and 'tools'.
    63 the 'kernel' directory contains our kernel, its patches, and utilities
    64 for building it. the 'notes' directory contains the documentation
    65 written on the patches so far. the 'tools' directory contains our old
    66 migration torture tools, for testing purposes.
     42Under the linuxPMI directory created by that command, you'll find a 2.6 directory, and inside that you'll find directories for 'kernel', 'notes', and 'tools'.
     43The 'kernel' directory contains our kernel, its patches, and utilities for building it. The 'notes' directory contains the documentation written on the patches so far. the 'tools' directory contains our old migration torture tools, for testing purposes.
    6744
    6845== Building a (testing only, BROKEN!) kernel ==
    6946
    70 to build a kernel, run the following commands:
     47To build a kernel, run the following commands:
    7148
    7249{{{
     
    7552}}}
    7653
    77 this creates a directory named build, with the current patches applied
    78 to it.
     54This creates a directory named build, with the current patches applied to it.
    7955
    8056== Where are the Patches? ==
    8157
    82 if you're interested in looking through the patches, they're located in
    83 the 2.6/kernel/2.6.17/linuxpmi/ directory. the old openmosix patches are
    84  located in the 2.6/kernel/2.6.17/openmosix directory, for historical
    85 reference.
     58If you're interested in looking through the patches, they're located in the 2.6/kernel/2.6.17/linuxpmi/ directory. the old openmosix patches are located in the 2.6/kernel/2.6.17/openmosix directory, for historical reference.
    8659
    8760
    8861== What do I do when this doesn't work? ==
    8962
    90 Pitch In! We're looking for volunteers to help with all sorts of tasks.
    91 join the mailing list, or drop by #openmosix on irc.freenode.net!
     63Pitch In! We're looking for volunteers to help with all sorts of tasks. Join the mailing list, or drop by #openmosix on irc.freenode.net!
    9264
    9365== Conflict Resolution Procedures ==
    9466
    95 if a 'git push' notifies you you've got a conflict, do a 'git pull' to
    96 have git intersperse notes amongst the file in conflict.
    97 now edit the file until it 'looks right' again, being mindful of both
    98 sets of changes, do a 'git add' and 'git commit' to create a new
    99 transaction, and 'git push' the file up to the tree.
     67If a 'git push' notifies you you've got a conflict, do a 'git pull' to have git intersperse notes amongst the file in conflict.
     68Now edit the file until it 'looks right' again, being mindful of both sets of changes, do a 'git add' and 'git commit' to create a new transaction, and 'git push' the file up to the tree.
    10069
    10170
     
    10372
    10473=== Add ===
     74
    10575{{{
    10676git add my_new_file
    10777}}}
    10878
    109 Anytime you create a file, you use this command to tell git that it
    110 should begin change tracking on it.  Git will record the current
    111 contents of the file in the "index", a sort of working area that's not
    112 tied directly to the file system.  You will also run this command
    113 against an existing file that you've changed to record the new contents
    114 in the index.
     79Anytime you create a file, you use this command to tell git that it should begin change tracking on it.
     80Git will record the current contents of the file in the "index", a sort of working area that's not tied directly to the file system.
     81You will also run this command against an existing file that you've changed to record the new contents in the index.
    11582
    11683=== Mv ===
     84
    11785{{{
    11886git mv a_tracked_file another_tracked_directory
     
    12391}}}
    12492
    125 This command is used to notify git of moves or renames.  Updates the
    126 index.
     93This command is used to notify git of moves or renames. Updates the index.
    12794
    12895=== Rm ===
     96
    12997{{{
    13098git rm im_a_gonner
    13199}}}
    132100
    133 This command tells git that a file is no longer part of the tracked
    134 tree.  Updates the index.
     101This command tells git that a file is no longer part of the tracked tree. Updates the index.
    135102
    136103=== Status ===
     104
    137105{{{
    138106git status
    139107}}}
    140108
    141 Has git report on the differences between the tip of the current branch,
    142  the index, and the filesystem.  It will list new files to be added to
    143 the tree, renames, removals, files that have changed that will be
    144 committed, and files that have changed but not recorded to the index. 
    145 Generally you'll want to run this before a commit to confirm what you
    146 are committing.
     109Has git report on the differences between the tip of the current branch, the index, and the filesystem.
     110It will list new files to be added to the tree, renames, removals, files that have changed that will be committed, and files that have changed but not recorded to the index. 
     111Generally you'll want to run this before a commit to confirm what you are committing.
    147112
    148113=== Diff ===
     114
    149115{{{
    150116git diff
     
    159125}}}
    160126
    161 This is a far more detailed version of status whose output is a unified
    162 diff.  A simple {{{git diff}}} tells you changes between the index and
    163 your working tree i.e. changes you haven't told git to record yet.  The
    164 more verbose {{{git diff --cached}}} gives the difference between the
    165 index and the last commit i.e. the changes you'll scheduled for commit.
    166  Finally {{{git diff HEAD}}} gives the sum total differences between the
    167  filesystem right now and the last committed version.
     127This is a far more detailed version of status whose output is a unified diff.
     128A simple {{{git diff}}} tells you changes between the index and your working tree i.e. changes you haven't told git to record yet.
     129The more verbose {{{git diff --cached}}} gives the difference between the index and the last commit i.e. the changes you'll scheduled for commit.
     130Finally {{{git diff HEAD}}} gives the sum total differences between the filesystem right now and the last committed version.
    168131
    169132=== Commit ===
     133
    170134{{{
    171135git commit
     
    180144}}}
    181145
    182 This command records changes to your local git tree, moving the head/tip
    183  forward.  Git will open your {{{$EDITOR}}} so that you can enter a
    184 commit message (empty messages are not allowed) or you can specify one
    185 with the {{{-m}}} option.  With no options (other than {{{-m}}}),
    186 changes already recorded to the index are committed.  With the -a
    187 option, files that are tracked are committed even if their changes have
    188 not been recorded in the index.  -a is short for all, but it doesn't
    189 track additions or renames so you may have to use other git commands to
    190 schedule those changes for commit even if you are using it.  If
    191 filenames are specified, changes between the last commit and the working
    192  tree to those file are committed, completely bypassing the index.
     146This command records changes to your local git tree, moving the head/tip forward.
     147Git will open your {{{$EDITOR}}} so that you can enter a commit message (empty messages are not allowed) or you can specify one with the {{{-m}}} option.
     148With no options (other than {{{-m}}}), changes already recorded to the index are committed.
     149With the -a option, files that are tracked are committed even if their changes have not been recorded in the index.
     150-a is short for all, but it doesn't track additions or renames so you may have to use other git commands to schedule those changes for commit even if you are using it.
     151If filenames are specified, changes between the last commit and the working tree to those file are committed, completely bypassing the index.
    193152
    194153=== Push ===
     154
    195155{{{
    196156git push
    197157}}}
    198158
    199 {{{git commit}}} only records changes to your local repository,
    200 eventually you'll probably want to send that information back to the git
    201  repository you {{{clone}}}d from.  This command does just that.
     159{{{git commit}}} only records changes to your local repository, eventually you'll probably want to send that information back to the git repository you {{{clone}}}d from.
     160This command does just that.
    202161
    203162=== Pull ===
     163
    204164{{{
    205165git pull
    206166}}}
    207167
    208 Assuming you aren't the only one working from the repository you
    209 {{{clone}}}d from it will change from time to time.  This command
    210 fetches the new data merges it into your local repository.
     168Assuming you aren't the only one working from the repository you {{{clone}}}d from it will change from time to time.
     169This command fetches the new data merges it into your local repository.
    211170
    212171== Other Git ==
    213172
    214173=== {{{.gitignore}}} ===
     174
    215175By analogy:
    216176.cvsignore -> CVS <-> .gitignore -> git
    217177
    218 Git refuses to track empty directories, but an empty .gitignore in a
    219 otherwise empty directory will convince it to check in the directory,
    220 just like CVS.  Even the file format is the same.
     178Git refuses to track empty directories, but an empty .gitignore in a otherwise empty directory will convince it to check in the directory, just like CVS.
     179Even the file format is the same.
    221180
    222181== The Rest ==
    223182
    224 There's plenty of good resources for learning  git available across the
    225 web, some of which are linked above.  This page will probably give you
    226 the bare minimum you need to be a useful committer, but that
    227 documentation is more complete and better maintained.
     183There's plenty of good resources for learning  git available across the web, some of which are linked above.
     184This page will probably give you the bare minimum you need to be a useful committer, but that documentation is more complete and better maintained.