branchs, that can be totally independent of each other. BRANCHING AND MERGING prod YES using trunk? YES NO TAG ? NO create tag trunk restore trunk tag create branch trunk warn? dev homol ok? reintegrate trunk branch create tag trunk local
to try out an idea, commit a few times, switch back to where you branched from, apply a patch, switch back to where you are experimenting, and merge it in! ! Role-Based Codelines Have a branch that always contains only what goes to production, another that you merge work into for testing, and several smaller ones for day to day work. ! Feature Based Workflow Create new branches for each new feature you're working on so you can seamlessly switch back and forth between them, then delete each branch when that feature gets merged into your main line. ! Disposable Experimentation Create a branch to experiment in, realize it's not going to work, and just delete it - abandoning the work—with nobody else ever seeing it. http://git-scm.com/
commits) 0 90 180 git svn 169.2 0.52 Log (50) Log of the last 50 commits 0 0.2 0.4 git svn 0.38 0.01 Blame Line annotation of a single file (array.c) 0 1.6 3.2 git svn 3.04 1.91 http://git-scm.com/ Log (File) Log of the history of a single file (array.c - 483 reviews) 0 45 90 git svn 82.84 0.6
branching system, an almost endless number of workflows can be implemented with relative ease. Multiple Backups Even if you are using a centralized workflow, each user will have a full backup of the primary server. Each of these copies may overwrite the primary server in the event of an accident or corruption. In effect, there is no single point of failure with Git unless there is only a single copy of the repository. http://git-scm.com/
teams, the model allows for a distributed collaborative organization simple and organized. http://git-scm.com/ origin origin PROJETO OPEN SOURCE 1 origin origin PROJETO OPEN SOURCE 2 DISTRIBUTED
sending of the information packet to your local repository couple the desired server. Even if the repository does not exist on the server in question. push notebook $git push origin projeto1 $git push notebook projeto1 DISTRIBUTED
ensures the cryptographic integrity of every bit of your project. Every file and commit is checksummed and retrieved by its checksum when checked back out. It's impossible to get anything out of Git other than the exact bits you put in. http://git-scm.com/
area" or "index", which serves as the intermediate area where the commits can be formatted and reviewed before completing the submission. Thus it is possible to quickly change some of your files and checks in them without committing all other modified your working directory, or having to list them for confirmation. http://git-scm.com/ working directory staging area repository git add git commit git commit -a working directory staging area repository
Download, inspect and modify the source code to Git; Make proprietary changes to Git that you do not redistribute publicly; Publicly redistribute Git binaries with open or proprietary programs, given that they are unmodified or the modifications are public;