Git Book

Git Community



1. Introduction
1.1. Welcome to Git
1.1.1. Feedback and Contributing
1.1.2. References
1.2. Git Directory and Working Directory
1.2.1. The Git Directory
1.2.2. The Working Directory
1.3. The Git Object Model
1.3.1. The SHA
1.3.2. The Objects
1.3.3. Different from SVN
1.3.4. Blob Object
1.3.5. Tree Object
1.3.6. Commit Object
1.3.7. The Object Model
1.3.8. Tag Object
1.4. The Git Index
1.4.1. Looking at the Index
1.4.2. Installing from Source
1.4.3. Windows
2. Basic Usage
2.1. Getting a Git Repository
2.1.1. Cloning a Repository
2.1.2. Initializing a New Repository
2.2. Setup and Initialization
2.2.1. Git Config
2.3. Normal Workflow
2.3.1. Git tracks content not files
2.3.2. How to merge
2.3.3. Resolving a merge
2.3.4. Undoing a merge
2.3.5. Fast-forward merges
2.4. Reviewing History - Git Log
2.4.1. Log Stats
2.4.2. Formatting the Log
2.4.3. Ordering the Log
2.5. Comparing Commits - Git Diff
2.5.1. What you will commit
2.5.2. More Diff Options
2.6. Distributed Workflows
2.6.1. Public git repositories
2.6.2. Pushing changes to a public repository
2.6.3. What to do when a push fails
3. Intermediate Usage
3.1. Ignoring files
3.1.1. Lightweight Tags
3.1.2. Tag Objects
3.1.3. Signed Tags
3.2. Rebasing
3.3. Interactive Rebasing
3.4. Stashing
3.4.1. Stash Queue
3.4.2. Partial Sha
3.4.3. Branch, Remote or Tag Name
3.4.4. Date Spec
3.4.5. Ordinal Spec
3.4.6. Carrot Parent
3.4.7. Tilde Spec
3.4.8. Tree Pointer
3.4.9. Blob Spec
3.4.10. Range
3.5. Tracking Branches
3.6. Undoing in Git - Reset, Checkout and Revert
3.6.1. Fixing un-committed mistakes
3.6.2. Fixing committed mistakes
3.7. Maintaining Git
3.7.1. Ensuring good performance
3.7.2. Ensuring reliability
3.8. Setting Up A Public Repository
3.8.1. Exporting a git repository via the git protocol
3.8.2. Exporting a git repository via http
3.9. Setting Up a Private Repository
3.9.1. Repo Access over SSH
3.9.2. Multiple User Access using Gitosis
3.10. Creating New Empty Branches
3.11. Modifying your History
3.12. Advanced Branching And Merging
3.12.1. Getting conflict-resolution help during a merge
3.12.2. Subtree
3.13. Finding Issues - Git Bisect
3.14. Git and Email
3.14.1. Submitting patches to a project
3.14.2. Importing patches to a project
3.15. Customizing Git
3.15.1. Changing your Editor
3.15.2. Adding Aliases
3.15.3. Adding Color
3.15.4. Commit Template
3.15.5. Log Format
3.15.6. Other Config Options
3.15.7. applypatch-msg
3.15.8. pre-applypatch
3.15.9. post-applypatch
3.15.10. pre-commit
3.15.11. prepare-commit-msg
3.15.12. commit-msg
3.15.13. post-commit
3.15.14. pre-rebase
3.15.15. post-checkout
3.15.16. post-merge
3.15.17. pre-receive
3.15.18. update
3.15.19. post-receive
3.15.20. post-update
3.15.21. pre-auto-gc
3.15.22. References
3.16. Submodules
3.16.1. Pitfalls with submodules
4. Working with Git
4.1. Git on Windows
4.2. Deploying with Git
4.2.1. Capistrano and Git
4.2.2. Importing Subversion
4.2.3. Importing Perforce
4.2.4. Importing Others
4.3. Graphical Git
4.3.1. Bundled GUIs
4.3.2. Third Party Projects
4.4. Hosted Git
4.5. Alternative Uses
4.5.1. Ruby and Git
4.5.2. PHP and Git
4.5.3. Python and Git
4.5.4. Perl and Git
4.6. Git and Editors
4.7. How Git Stores Objects
4.7.1. Loose Objects
4.7.2. Packed Objects
4.8. Browsing Git Objects
4.9. Git References
4.9.1. Showing commits unique to a given branch
4.10. The Git Index
4.11. The Packfile
4.11.1. The Packfile Index
4.11.2. The Packfile Format
4.11.3. Creating Blobs
4.11.4. Creating Trees
4.11.5. Rearranging Trees
4.11.6. Creating Commits
4.11.7. Updating a Branch Ref
4.12. Transfer Protocols
4.12.1. Fetching Data over HTTP
4.12.2. Fetching Data with Upload Pack
4.12.3. Pushing Data
4.13. Glossary
n
Next Page
p
Previos Page
h
Book Home
u
Go Up One Level
?
Press ? for Help
esc
Hide Help

Press '?' for keyboard shortcuts

Your Ad Here