Lines Matching full:git
4 @settitle Using Git to develop FFmpeg
7 @center @titlefont{Using Git to develop FFmpeg}
16 This document aims in giving some quick references on a set of useful Git
18 provided directly by Git:
21 git --help
22 man git
28 git <command> --help
29 man git-<command>
35 @url{http://gitref.org, Git Reference} website.
37 For more information about the Git project, visit the
38 @url{http://git-scm.com/, Git website}.
42 What follows now is a basic introduction to Git and some FFmpeg-specific
47 @section Get Git
49 You can get Git from @url{http://git-scm.com/}
56 git clone git://source.ffmpeg.org/ffmpeg <target>
62 git clone git@@source.ffmpeg.org:ffmpeg <target>
69 git clone gil@@ffmpeg.org:ffmpeg-web <target>
74 (Note that @var{gil} stands for GItoLite and is not a typo of @var{git}.)
80 git clone git://ffmpeg.org/ffmpeg-web <target>
88 git config --global core.autocrlf false
96 git pull (--rebase)
110 git pull --rebase
121 git add [-A] <filename/dirname>
122 git rm [-r] <filename/dirname>
125 Git needs to get notified of all changes you make to your working
133 git diff <filename(s)>
142 git log <filename(s)>
151 git status
161 git diff --check
175 git diff -w -b <filename(s)>
181 git status
187 git add [-i|-p|-A] <filenames/dirnames>
190 Make sure you have told Git your name and email address
193 git config --global user.name "My Name"
194 git config --global user.email my@@email.invalid
197 Use @option{--global} to set the global configuration for all your Git checkouts.
199 Git will select the changes to the files for commit. Optionally you can use
205 git commit
208 Git will commit the selected changes to your current local branch.
214 git config --global core.editor
224 include filenames in log messages, Git provides that information.
228 the patch by @command{git format-patch}.
233 git format-patch <commit> [-o directory]
240 git format-patch origin/master
248 git format-patch -n
257 git send-email <commit list|directory>
260 will send the patches created by @command{git format-patch} or directly
263 Note that this tool must often be installed separately (e.g. @var{git-email}
269 Git automatically tracks such changes, making those normal commits.
273 git add [-A] .
274 git commit
278 @chapter Git configuration
281 your personal Git installation and your local FFmpeg repository.
283 @section Personal Git installation
285 Add the following to your @file{~/.gitconfig} to help @command{git send-email}
286 and @command{git format-patch} detect renames:
295 In order to have @command{git send-email} automatically send patches
297 to @file{/path/to/ffmpeg/repository/.git/config}:
309 git reset <commit>
312 @command{git reset} will uncommit the changes till @var{<commit>} rewriting
316 git commit --amend
322 git rebase -i origin/master
329 @command{git reset}, @command{git commit --amend} and @command{git rebase}
335 git revert <commit>
338 @command{git revert} will generate a revert commit. This will not make the
344 git push origin master --dry-run
350 Git will prevent you from pushing changes if the local and remote trees are
354 git remote add <name> <url>
361 git push <remote> <refspec>
365 Omitting @var{<refspec>} makes @command{git push} update all the remote
370 Since version 1.7.1 Git supports @samp{:/foo} syntax for specifying commits
374 git show :/'as revision 23456'
377 will show the svn changeset @samp{r23456}. With older Git versions searching in
378 the @command{git log} output is the easiest option (especially if a pager with
384 git checkout -b svn_23456 :/'as revision 23456'
387 or for Git < 1.7.1 with
390 git checkout -b svn_23456 $SHA1
393 where @var{$SHA1} is the commit hash from the @command{git log} output.
406 wrong. You can see what will be pushed by running the git push command
408 @command{git log -p 1234567..987654}. The @command{git status} command
435 problems with the Git server.