1 | | == Tips and Tricks for using Git with WebKit == |
2 | | * Tip... |
3 | | * Trick... |
| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Tips and Tricks for using Git with WebKit = |
| 4 | |
| 5 | == WebKit Script support for Git == |
| 6 | |
| 7 | The various scripts in WebKitTools/Scripts have been made to work pretty well with Git. Here are some |
| 8 | of the specific things you can do with them: |
| 9 | |
| 10 | * Telling the various scripts to '''append the git branch name to every build'''. This is especially useful so you don't clobber your previous branch's build when you switch branches |
| 11 | {{{ |
| 12 | git config core.webKitBranchBuild (true|false) //the default is off |
| 13 | }}} |
| 14 | * Overriding the core.webKitBranchBuild setting for a specific branch |
| 15 | {{{ |
| 16 | git config branch.$branchName.webKitBranchBuild (true|false) |
| 17 | }}} |
| 18 | * Using '''prepare-Changelog''' with git |
| 19 | {{{ |
| 20 | WebKitTools/Scripts/prepare-Changelog --git-commit=$committish --git-reviewer="Foo Reviewer" |
| 21 | }}} |
| 22 | * Using '''resolve-ChangeLog''' with git |
| 23 | {{{ |
| 24 | PLEASE FILL ME IN |
| 25 | }}} |
| 26 | * Using '''commit-log-editor''' with git |
| 27 | {{{ |
| 28 | PLEASE FILL ME IN |
| 29 | }}} |
| 30 | |
| 31 | == Misc. Tips and Tricks == |
| 32 | * You can setup '''Git shell completion and branch name in your bash prompt.''' In your /path/to/git/source/contrib/completion directory you will find a 'git-completion.bash' file. Follow the instructions in that file to enable shell completion. Here is a nice bash prompt for instance |
| 33 | {{{ |
| 34 | PS1='\[\033[41;1;37m\]\u@\h:\[\033[40;1;33m\]\W$(__git_ps1 " (%s)")>\[\033[0m\] ' |
| 35 | }}} |
| 36 | * You can set up '''multiple working directories to work on more than one branch at a time.''' In your /path/to/git/source/contrib/workdir directory you will find a 'git-new-workdir' script that can create new working directories. The usage is |
| 37 | {{{ |
| 38 | ./git-new-workdir <repository> <new_workdir> [<branch>] |
| 39 | }}} |
| 40 | * Colorize various git commands |
| 41 | {{{ |
| 42 | git config --global color.status auto |
| 43 | git config --global color.diff auto |
| 44 | git config --global color.branch auto |
| 45 | }}} |
| 46 | |
| 47 | * Important git config settings |
| 48 | {{{ |
| 49 | git config --global user.name "Foo Bar" |
| 50 | git config --global user.email "foo@webkit.org" |
| 51 | }}} |