Home
Git - (Why not CVS? because Git.)
Contents
1. setarch add long options to setarch and update manpage docs update AUTHORS file fdisk doing useless ioc when edifing an image rename add description about opfion U to manpage rename remove useless variable build sps remove files thatare no longer delivered from git cal add description about option U to manpage mount chain of symlinks to fstab causes use of pointer after free rename add description about option U to manpage rename remove useless variable mount chain of symlinks to fstab causes use of pointer after free cal add description about opfion U to manpage build sys remove files that are no longer delivered from git setarch adding groff symlinks to setarch manual page mount improve error message when helper program not present fdisk fix typo flock typo in man page build sys fir localedir unsupported by autoconf lt 2 60 docs fix stable branche name in README devel Merge branch master into topiciswaporr suspend setarch adding groff symlinks to setarch manual page mount improve error message when helper program not present docs fix stable branche name in README devel fs typo build sys autogen sh reports versions of autotools now build sys set AC_PREREQ to 2 60 increment version to 2 14 tpo in man page docs update and sort AUTHORS file Getting started Karel Zak lt kzak redhat com gt Karel Zak lt kzak redhat com gt Pascal Terjan lt pferjan li
2. copy patch from another branch set back a branch HEAD find the breaking patch save restore current work dir changes compactify repository and do clean ups Section 2 Implementation Implementation Internal objects Internal objects All objects are content addressable by SHA 1 commit refers to tree and parent connection into the project history and contains the commit message tree represents the state of a single directory list of blob objects and subtrees blob contains file data without any other structure Implementation Internal objects Internal objects commit parent commit commit connection between tree and parent tree state of a single directory blob contain file data Implementation Internal objects References Tag contains SHA 1 sum of a commit may contain an explaining message can be PGP signed stays fix git refs tags Branch SHA 1 sum of a commit leaf of the history tree follows the commits to that branch git refs heads tracked branches git refs remotes origin HEAD the current branch ORIG_HEAD HEAD before the last reset Implementation Internal objects Trust everything is content addressed and based on SHA 1 two trees are same when HEAD SHA 1 are same SHA 1 summ are checked to asure data integrity content history and commit messages can be signed by only GPG signing one tag git tag v v2 13 object 49ef
3. sizeof a sizeof a 0 Real life with Git Handling Patches Send patches by e mail git send email options lt fileldir gt Takes the patches given on the command line and emails them out no attachments no broken patch format correct subject line git send email to God lt father heaven com gt 0001 make this world better patch Section 6 Misc Misc References El Git User s Manual http www kernel org pub software scm git docs user manual html A tutorial introduction to git http www kernel org pub software scm git docs tutorial html The perfect patch http www zip com au akpm linux patches stuff tpp txt The end Thanks for listening http kzak fedorapeople org git presentation pdf
4. branches Branches Manipulating branches git branch lists creates or deletes branches git checkout lt branch gt makes the current branch lt branch gt updating the working directory git checkout b lt branch gt creates a new branch lt branch gt check it out git show branch shows branches and their commits git diff lt branch gt lt branch gt diffs between branches Branches Merge branch git merge topic A topic Dt nase Branches Rebase branch Ae 33 8 Lope D ES E G master git rebase master topic AB Cat OP D E F G magter git rebase i topic Branches Merge vs Rebase Merge does an 3 way merge for simple cases leads to non linear history merging several branches with each other looks messy keeps separate branches visible Use in public repositories Rebase reapplies the patches on top alters history new patches with new SHA 1 sums breaks work based on that branch therefore not suited for published work allows creating the perfect patch against upstream Use for private work Read the man pages for details Branches Resolve Conflicts Read the messages resolved stuff gets added to the index conflicts are applied to the work dir only resolve and add to index merge commit rebase continue abort or skip Section 5 Real life with Git Real life with Git Changing History Edit 3rd commit from the top Wo
5. efi Why not CVS because Git Karel Zak Florian Festi Bart Trojanowski December 20 2007 Copyright 2007 Karel Zak Copyright 2007 Tomas Janousek beamer template Copyright 2007 Florian Festi Copyright 2007 Bart Trojanowski Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts Source code http kzak fedorapeople org git presentation git Agenda Intro Development model Commands Implementation Internal objects Naming revisions Getting started Configuration Visualisation Branches Real life with Git Changing History Handling Patches Misc Section 1 Intro Intro What is Git I m an egotistical bastard and name all my projects after myself First Linux now git Linus Torvalds fast distributed revision control system unusually rich command set provides both high level operations and full access to internals originally created by Linus Torvalds for kernel development design was inspired by BitKeeper and Monotone GNU General Public License version 2 Intro Basic features distributed development model support for non linear development branching and merging ready for large projects very good performance repositories can be easily
6. published git ssh http rsync cryptographic authentication of history GPG signed tags internally objects are addressed by content SHA 1 not filenames local branches are local only off line work Intro Development model Centralized model extra policy for write access SCM is not development tool but source code archive only every change has impact to all developers no privat branches needs connection to server for most operations Intro Development model Distributed model Repository Mr Maintainer maintainer has full control over primary his repository support for non linear development repositories can be easily published git ssh http Intro Development model Git improves your work manners and habits branching and merging is cheap you can prototype you can collaborate with others developers on incomplete and unstable stuff you can easily e g every day rebase your changes to new upstream code merge rebase often minimizes conflicts between your patches and upstream small patch is the best patch patch per feature change reviewers hate huge patches well separated feature or change is easy to revert per item commit messages much less dependent on your patches going in upstream manage patches not just store them Intro Development model Workflow Changes go through several stages before ending up in their final destination working
7. 37 2007 09 02 13 10 06 2007 08 29 15 07 10 2007 08 28 00 41 54 2007 08 28 00 36 57 2007 08 28 00 15 49 YA snar ID jarama E gt Fina PO t a aes ee orinview None OR E e Diff Old version New version Comments diskefdisk c Author Pascal Terjan pberj snBlinuxfr org 2007 09 04 00 10 16 Donnitter Karel tak tkank redhat con 2007 09 05 11 52 20 arent A16578515892695195913aS2AnA6F9177e70038 renne add description about option v to manpage L Child Ueis2Ue72daTIasecz dese PFeaSohechi8I5e doce update AUTHORS File Branch master Follows v2 13 Precedes fdisk doing useless ioctl when editing an inage When editing a disk inage fliek wants to ask the kernel te reread the markition tahle which is eeleae and mranskes an arrar a wrand m Patch v Tree 14 Getting started Visualisation qgit Visualisation th home ffesti CVS yum ffesti QGit EX m BOB shortiog Eile Edit View Actions Help Patch yum depsolv a 6s01108346735d9b306320d0421360c2ac700036 de Graph Date Author Florian Festi lt ffesti redhat com gt 11 09 2007 05 21 45 PM Parent Update test case Child Nothing to commit Follows yum 3 2 7 3 2 7 changelog merge Short Log ESEI NECK only Internal cnecksum or alreaay existing sqiitean Tiles to allow creat Use a Least Recently Used cache for sqlite packages
8. 7acdf77066ed05a6c828c261d332c4f54644 type commit tag v2 13 tagger Karel Zak lt kzak redhat com gt Tue Aug 28 01 01 35 2007 0200 stable release v2 13 gpg Signature made Tue 28 Aug 2007 01 01 35 AM CEST using DSA key ID DCO6D885 gpg Good signature from Karel Zak lt kzak redhat com gt Implementation Naming revisions Object reference SHA 1 40 hexdigit object name tag human readable name for commit commit n N th parent commit n N th generation grand parent of the named commit object following only the first parent ref date specify the value of the ref at a prior point in time text commit whose commit message starts with the specified text HEAD refers to the head of the current branch rev 3 rev rev LaLa git reset HEAD Implementation Naming revisions Ranges r1 r2 commits reachable from r2 but exclude the ones reachable from rl rl r2 set of commits that are reachable from either one of rl or r2 but not from both git log v2 13 v2 14 Implementation Naming revisions tree ish Lots of commands take a tree as an argument A tree can be referred to in many different ways by name for that tree name of a commit that refers to the tree name of a branch whose head refers to that tree Section 3 Getting started Getting started Configuration Configuration global configuration is in gitconfig git config global list user name Florian Festi user email ffesti
9. PRCOs Move most operation to be based on pkgKey instead of pkgld to gain some speed move creation of sqlite idices to sqlitesack to create them even if the metadatapa aca tsinfo getUnresolvedMembers and use if for depsolving Ad letes Ping Pong dd some erase depsolve tests Re plication of settestpath contents make sure pkgs are added to the tsInfo for depsolving in the proper mode expose copy_local sensibly to callers Merge branch master of ssh login linux duke edu home groups yum git yum Fix copy paste error Packages that are to be removed can t be local ackages Author Florian rest y Florian Festi lt ffe Florian Festi lt ffes Florian Festi lt ffes Florian Festi lt ffes Florian Festi lt ffe James Bowes lt jbc James Bowes lt jbc Seth Vidal lt skvid Seth Vidal lt skvid James Antill lt jai Florian Festi eis Florian Festi lt ffe t e IA yum _init_ py gt N Getting started Visualisation Visualisation Gitweb File Edit View History Bookmarks Tools Help 0 http git kernel org p utils util linux ng util linux Jl Q pub scm utils util linux ng util linux ng git summary 337 git summary shortlog log commit commitdiff tree commit ah EAS description The util linux ng code repository See http kernel org kzak util linu
10. dir current checkout editing happens here index aka cache aka staging area changes that are selected to be commited commit now packaged up with a commit message and part of the history master branch move the commits over when the feature is finished origin get the changes upstream Intro Commands Syntax git lt commandname gt options git lt commandname gt options man git lt commandname gt git help lt commandname gt git rev list pretty oneline v2 13 Intro Commands Basic commands local git init git add git rm git mv git status git commit git log git show creates en empty repository at git adds file contents to the next commit removes a file move a file shows the working tree status records changes to the repository shows commit log shows commit or another object Intro Commands Basic commands remote git fetch git pull git push git format patch git send email git am get new changes from external repository fetch merge write new changes to external repository exports a change sends patch s applies a series of patches from a mailbox Intro Commands Advanced Commands local git branch git checkout git merge git rebase git cherry pick git reset git bisect git stash git gc create modify delete branches switch work dir to another branch commit merge two or more branches changes starting point of a branch
11. ing unclosed patch home kzak 0003 blockdev fix opened file leaving unclosed patch home kzak 0004 tailf opened file leaving unclosed patch home kzak 0005 tests use losetup s patch Real life with Git Handling Patches Patch description From bfdb8be5c49d8fadb25118fb4416ab2a68fc3a16 Mon Sep 17 00 00 00 2001 Karel Zak lt kzak redhat com gt thor h r Thu 25 Oct 2007 12 29 51 0200 au no eade Subject PATCH losetup canonicalize loopfile name subject When setting up a loop device canonicalize the loop file name This simplifies a later identification of loop file names when querying the loop devices commit message Co Author Matthias Koenig lt mkoenig suse de gt Signed off by Matthias Koenig lt mkoenig suse de gt tags Signed off by Karel Zak lt kzak redhat com gt mount Makefile am 4 mount lomount c 14 HHHHHHHHH diffstat 2 files changed 14 insertions 4 deletions index 57a5af8 46bcb5a 100644 umount_LDFLAGS SUID_LDFLA AM_LDFLAG swapon_ SOURCES swapon c swap _constants h utils common losetup SOURCES lomount c sundries c xmalloc loop h lomount h x sundries h losetup SOURCES lomount c sundries c xmalloc c realpath c Toop h lomount h xmalloc h sundries h realpath h losetup CPPFLAGS DMAIN AM_CPPFLAGS mount_LDADD LDADD_common index cea3aed b3c16fb 100644 include nls h include sundries h include xmalloc h include realpath h define SIZE a
12. nunf org gt Li Zefan lt liz1 en fujitsu com gt Li Zefan cliaf en yjtsu com gt Lamont Jones lt lamont mmjgroup com gt Li Zefan lt lizf en fujitsu com gt Norbert Buchmuller lt norbi nischu gt Li Zefan lt lizf cn fujitsu com gt Li Zefan lt lief cn fyjtsu com gt Norbert Buchmuller lt norbi nix hu gt Li Zefan lt lizf cn fujitsu com gt Lamont Jones lt lamont mmjgroup com gt Arkadiusz Miskiewicz lt arekm maven pl gt Lamont Jones lt lamont mnjaroup com gt Karel Zak lt kzak redhatcom gt A Costa lt agcosta ais net gt Karel Zak lt kzak redhatcom gt Karel Zak lt kzak redhat com gt Karel Zak lt kzak redhat com gt Arkadiusz tiskiewice carekm maven pl gt Lamont Jones lt lamont mmjaroup com gt Karel Zak ckzak redhat com gt Karel Zak lt kzak redhat com gt Karel Zak lt kzak redhat com gt Karel Zak lt kzak redhat com gt A Costa cagcosta ais net gt Karel Zak ckzakg redhat com Karel Zak lt kzak redhat com gt Karel Zak ckzak redhat com gt Visualisation 2007 09 04 09 45 10 2007 09 05 11 55 50 2007 09 04 09 33 36 2007 09 04 09 20 25 2007 08 28 23 56 41 2007 09 03 08 25 40 2007 09 02 22 08 53 2007 09 04 09 33 36 2007 09 04 09 20 25 2007 09 02 22 08 53 2007 09 03 08 25 40 2007 08 28 23 56 41 2007 08 28 09 16 57 2007 08 09 21 37 22 2007 09 02 15 02 55 2007 08 29 15 07 10 2007 09 02 13 00 23 2007 09 02 11 43 53 2007 09 04 15 43 33 2007 08 28 09 16 57 2007 08 09 21
13. redhat com diff color auto repository configuration is in repo git config 3 patie gone lese changing settings git config global user name Florian Festi git config global user email ffesti redhat com Getting started Configuration gitconfig simple sample config user name Florian Festi email ffesti redhat com diff color auto see man git config for all config options Getting started Configuration Create a repository te A create a new repository mkdir project cd project git init clone an existing remote repository origin repository git clone http foo com project add a next remote repository git config remote bar fetch master refs remotes bar mast git config remote bar url git bar com project r pate ECLAD a Getting started Configuration Repository config file core remote branch repositoryformatversion 0 filemode true bare false logallrefupdates true Borim url ssh login linux duke edu yum git fetch refs heads refs remotes origin master remote origin merge refs heads master Getting started Visualisation Visualisation visualization helps when working with branches http git or cz gitwiki InterfacesFrontendsAndTools History viewer gitk Tcl Tk History Viewer qgit Qt History Viewer patch import export gitweb Web front end CGI mod_perl Commit tools git gui Tcl Tk builtin Visualisation gitk
14. rel Zak build sys set AC_PREREQ to 2 60 increment version commit commitdiff tree snapshot 8daysago A Costa flock typo in man page commit commitdiff tree snapshot 13 days ago Karel Zak build sys v2 13 commit com tree snapshot 13 days ago Karel Zak docs update ReleaseNotes commit commitdiff tree snapshot E Done Adblock Getting started Visualisation Browsing changes git whatchanged git git nA git git git git git git log shows commit logs git show shows one or more objects blobs trees tags and commits git blame shows what revision and author last modified each line of a file shows logs with difference each commit introduces a Ze bie commits since v2 5 log test master commits reachable from master but not test log since 2 weeks ago commits from the last 2 weeks log Makefile commits which modify Makefile log pretty format h an commit log in format sha 1 Author Name blame L 10 15 foo c who modified code between lines 10 and 15 show c1a47c171b shows selected object commit Section 4 Branches Branches Branches a O O lt Branc hih Om O Os O lt master N 02 020 lt Branch B branch is line of development branch head is a reference to the most recent commit on a branch branches become remote branches when cloning a repository use git branch a all or r remote to see the remote
15. rking on branch master A B C D E master realized you made a mistake in commit B git checkout HEAD 3 git commit amend B HEAD A 5 6 D E fasten bring back the other commits git rebase HEAD master BB CD Eimaster Real life with Git Changing History Changes in project history the very last patch git commit amend to add changes to last commit the latest patches git reset to remove the last commits from the history organize your own branch git cherry pick patch per patch into a new branch git rebase i to freely reorder patches deep in project history git rebase to move around large part of the history git revert to add a reversed patch on top Real life with Git Handling Patches Send a patch Basic rules one patch per e mail don t use stupid e mail clients e g Outlook don t use attachments export patches by git format patch send patches by git send email well formatted patch is possible to apply by git am don t forget to keep correct authorship e g when you are not author of the patch use commit messages a patch without comment is incomplete crap Real life with Git Handling Patches Export patches to files git format patch options lt sincelrange gt creates one file per patch created patches are usable by git am git format patch o HEAD 5 home kzak 0001 setterm opened file leaving unclosed patch home kzak 0002 sfdisk opened files leav
16. x ng for more details owner Karel Zak last change Wed 5 Sep 2007 09 55 50 0000 URL git git kernel org pub sc m utils util linux ng util linux ng git http www kernel org pub scm utils util linux ng util linux ng git shortlog 5 days ago Karel Zak docs update AUTHORS master commit commitdiff tree snapshot Sdaysago Pascal Terjan fdisk doing u ioctl when editing an image commit commitdiff tree snapshot Sdaysago LiZefan rename add description about option V to manpage commit commitdiff tree snapshot Sdaysago Li Zefan variabl commit commitdiff tree snapshot Sdaysago LaMont Jones build sys remove files that are no longer deliv een commit commitdiff tree snapshot Sdaysago LiZefan cal add description about option V to manpage commit commitdiff tree snapshot 5daysago Norbert Buchmuller mount chain of symlinks to fstab causes use of pointer commit commitdiff tree snapshot 7 days ago Arkadiusz Miskiewicz setarch adding grofi symlinks to setarch manual page commit commitdiff tree snapshot 7daysago LaMont jones mount improve error message when helper program not commit commitdiff tree snapshot 7daysago Karel Zak docs fix stable branche name in README devel commit commitdiff tree snapshot Bdaysago Karel Zak fdisk fix typo commit commitdiff tree snapshot 8daysago Karel Zak build sys autogen sh reports versions of autotools now commit commitdiff tree snapshot 8daysago Ka
Download Pdf Manuals
Related Search
Related Contents
Installation Manual Manejo de cuencas - Página de la FAZ Holux GPSlim236 GPS Receiver User Manual 取扱説明書 - 日東工業株式会社 N-TEC User`s Manual - Back to Main Page User manual Snabbguide Pikaopas Hurtigstarts guide Toshiba heat GE DBXR453 User's Manual Numéro de Code National 5 Code Actival Antióxido Copyright © All rights reserved.
Failed to retrieve file