hkdty211
hulajnoga
Dołączył: 30 Kwi 2011
Posty: 97
Przeczytał: 0 tematów
Ostrzeżeń: 0/10 Skąd: England
|
Wysłany: Nie 9:49, 29 Maj 2011 Temat postu: hot hair straightener git using notes |
|
|
git collection with notes
1, Linus's git tree, AKA 'mainline kernel':
$ git-clone git: / / git .kernel.org / pub / scm / linux / kernel / git / torvalds/linux-2.6. git
other git trees at [link widoczny dla zalogowanych] git. kernel.org / find, click on the go will be able to see the GIT URL.
2, install the git docs
have asciidoc,[link widoczny dla zalogowanych], wish command to install the tcl / tk and asciidoc. wish command in tk-x.xx.xx package .
when compiling git,
$ sudo make install-doc
3,[link widoczny dla zalogowanych], using git
$ git-config user.name $ git-config user.email [link widoczny dla zalogowanych]
note that in the current repository directory . git / config write the configuration information. If git-config added - global
option, the configuration information is written to ~ /. Git config file. Because you may use different identities in different projects, and more
project management with git, so do not recommend a global configuration.
$ git-val-l / / list git variables
$ git-initdb / / unless they create a project, otherwise no need to use. It creates. Git / directory
/ / This directory will be created when git-clone.
$ git-clone git: / / git .kernel.org / pub / scm / linux / kernel / git / torvalds / linux-2.6. git
$ cd linux-2.6
at this time there is a current directory. git directory. Here we are in the linux-2.6 / under the demo:
$ git-pull / / update the local git tree. If you clone the linus tree since then, linus tree
/ / there are new changes, then update to these changes in your local tree
; / / similar to cvs update
$ git-diff / / list of your local tree and the linus tree different
This is the way to produce patch. Note that using git-diff patch should be generated in the patch (1) when the designated-p1
$ git-apply ; equivalent patch (1) command, but the git-apply specifically to apply to those generated by git-diff patch
- check is not really a patch,[link widoczny dla zalogowanych], but only check whether the patch marked
perfect -v verbose
$ git - gui / / GUI mode,[link widoczny dla zalogowanych],[link widoczny dla zalogowanych], but I think it is best to use q git
$ git-rev-list time as the order, the reverse list revision ID. The first column is the latest commit ID. You can also specify the number listed, for example:
$ git-rev-list -2 971a71bdc9b42e74a5a8ed0433ac27ae92291024
Added file:
$ git-add ; / / similar to cvs add
$ git-add-a ; / / directory of all files and subdirectories
$ git-commit / / submission. Note that you need to add and then commit. Also, GIT _EDITOR environment variable allows you to
; / / set editor,[link widoczny dla zalogowanych], commit the time to use it to edit the information.
- s option to the commit message of the last line add Signed-off-by: Jike Song
$ git-commit-e-s-a
-s will increase Signed-off-by-line,-e will call the vim to edit commit message,-a, said all.
delete file:
$ git-rm aa.c
$ git-commit
restore deleted files: ( Undo a commit)
$ git-log ; / / Note that view after the last git-rm git-commit ID
$ git-revert adb2f08089edac8bf1912a618a74485ab42f2b86 / / specify the result in the removal operation commit ID, to undo the
commit ID corresponds to one listed in the patch:
$ git-log -1-p 721151d004dcf01a71b12bb6b893f9160284cf6e
-1 means to show only one commit. If you want to display 5 to -5. If not specified, git log commit has been back from the show.
simple method of directly there:
$ git-format-patch -1 721151d004dcf01a71b12bb6b893f9160284cf6e
- stdout / / do not write to file, but Print to standard output
or:
$ git-show 721151d004dcf01a71b12bb6b893f9160284cf6e ; / / thanks for Xu
or:
$ git-diff-tree-p 721151d004dcf01a71b12bb6b893f9160284cf6e
git-bisect usage
/*{{{*/
$ git-bisect start
$ git-bisect bad / / This version of the kernel is marked as bad
or targeted:
$ git-bisect bad v2. 6.22-rc1
$ git-bisect good v2.6.22-rc2
LABEL: you specify after the bad and good, between the two versions if the 1000 revisions, git to the exclusion of 500 by default, you should test the version at this time:
;
create a temporary output directory
$ make .. / git _bisect_output /
compile:
$ sudo make O =.. / git _bisect_output / menuconfig & & make O =.. / git _bisect_output / V = 1-j4 & & make O =.. / git _bisect_output / V = 1 modules_install install
; attention, preferably in the menuconfig, gave local version with a string, such as step1, step2 and so on.
start a new compilation of the kernel, if there is BUG:
$ git-bisect bad
goto LABEL; / / re-compilation, verification.
until some time, only one revision can doubt, when it can confirm that the introduction of the patch.
When bisect the end, back to the master version:
; $ git-bisect reset
[Note]
git bisect is a long and painful process. I have Dell Optiplex745 (2G RAM / Core2 Duo 2G) do a full day on the machine, only navigate to a commit.
[replay usage]
If the input git-bisect good time, do not care Enter the git-bisect bad, you can do:
; 1) git-bisect log | tee .. / git. bisect.log
2) Modify .. / git. bisect.log, delete the last two lines - that is, 1 back Step
3) git-bisect replay .. / git. bisect.log
[visualize usage]
git-bisect a long time, because it may need to compile N times kernel. In the meantime, you can use:
; $ git-bisect visualize
to the git k in View currently in those Revs.
FYI: If you're like me, prefer q git, you can modify `which git-bisect` script to 'git k' replace the words' q git '.
/*}}}*/
;
git-citool GUI interface git-commit. Not only can submit, and you can edit the information in the last commit.
git-diff usage
master list of your tree and the different:
$ git-diff
a list of your tree and a version of a different:
$ git-diff v2.6.22
to a document list, and a previous different version of the file:
$ git diff v2.6.20 init / main.c
note that their results + tree, - said the 2.6.20's.
tag in a file lists two different:
$ git-diff v2.6.23 v2.6.24-rc1 init / main.c
view a file which patches have been altered:
$ git-whatchanged-p security / Kconfig / / thanks to Herbert Xu
extracted from the local git repository in a version of the kernel:
$ git-archive-v v2.6.18 | (cd .. / linux -2.6.18 / & & tar xf -)
-v says - verbose, note that 'v2.6.18' must be a git-tag-l to list the tags in one.
or labeled as tarball:
$ git-archive-v - format = tar v2.6.24 | bzip2> ../linux-2.6.24.tar. bz2
local git repository of the current export to another directory (to test the latest git Linus Tree without cluttering the warehouse)
$ git-status ; / / FIXME: I'm not sure that is still with git-status git-branch
/ / or whatever command
$ On branch master
nothing to commit (working directory clean)
$ git-archive-v master | (cd ../linux-2.6-Jan14 / & & tar xf - )
your local store chaos, back to the mailine:
$ git-reset - hard / / WARNING: This will lose all your local changes, caution!
(FIXME: This method is simply wrong! commit log is a mess!
maybe use git-reset - hard)
$ git-diff | tee .. / local_against_mainline.diff
$ git-apply-R
analysis of the messages, write the commit log msg file, write the patch patch file. Other information printed to standard output.
mail files from the patch:
$ git - am
git-send-email:
such
$ git - send-email - compose - to [link widoczny dla zalogowanych] - cc [link widoczny dla zalogowanych]
- cc [link widoczny dla zalogowanych] - cc netdev @ vger.kernel.org
-cc [link widoczny dla zalogowanych] - smtp-server
note, my smtp server does not require authentication, if you need to verify, using
- smtp-user = - smtp-pass =
to specify.
use git-tools to handle the mbox in the patch:
$ git clone git : / / git .kernel.org / pub / scm / linux / kernel / git / torvalds / git-tools. git
and then compile, install.
It provides applypatch, cvs2 git, dotest, mailinfo, mailsplit, stripspace these tools.
email Note:
1) can be used to copy the patch program xclip
$ git-format-patch -1 - stdout | xclip
mouse button and then paste.
2) Make sure you carefully
editor plug-ins such as the use thunderbird: External Editor specified Vim editor, etc. sure do not wrap word.
'm sure if I'm not ~ /. vimrc set in:
set textwidth = 0
set wrapmargin = 0
can not automatically insert . But with the: r command to read the patch file be no problem.
Post został pochwalony 0 razy
|
|