售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Second Edition
Copyright
Git Essentials
Second Edition
Credits
Foreword
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the color images of this book
Errata
Piracy
Questions
Getting Started with Git
Foreword to the second edition
Installing Git
Installing Git on GNU-Linux
Installing Git on macOS
Installing Git on Windows
Running our first Git command
Making presentations
Setting up a new repository
Adding a file
Committing the added file
Modifying a committed file
Summary
Git Fundamentals - Working Locally
Digging into Git internals
Git objects
Commits
The hash
The author and the commit creation date
The commit message
The committer and the committing date
Going deeper
Porcelain commands and plumbing commands
Trees
Blobs
Even deeper - the Git storage object model
Git doesn't use deltas
Wrapping up
Git references
It's all about labels
Branches are movable labels
How references work
Creating a new branch
HEAD, or you are here
Reachability and undoing commits
Detached HEAD
The reflogs
Tags are fixed labels
Annotated tags
Staging area, working tree, and HEAD commit
The three areas of Git
Removing changes from the staging area
File status lifecycle
All you need to know about checkout and reset
Git checkout overwrites all the tree areas
Git reset can be hard, soft, or mixed
Rebasing
Reassembling commits
Rebasing branches
Merging branches
Fast forwarding
Cherry picking
Summary
Git Fundamentals - Working Remotely
Working with remotes
Clone a local repository
The origin
Sharing local commits with git push
Getting remote commits with git pull
How Git keeps track of remotes
Working with a public server on GitHub
Setting up a new GitHub account
Cloning the repository
Uploading modifications to remotes
What do I send to the remote when I push?
Pushing a new branch to the remote
The origin
Tracking branches
Going backward – publishing a local repository to GitHub
Adding a remote to a local repository
Pushing a local branch to a remote repository
Social coding - collaborating using GitHub
Forking a repository
Submitting pull requests
Creating a pull request
Summary
Git Fundamentals - Niche Concepts, Configurations, and Commands
Dissecting Git configuration
Configuration architecture
Configuration levels
System level
Global level
Repository level
Listing configurations
Editing configuration files manually
Setting up some other environment configurations
Basic configurations
Typos autocorrection
Push default
Defining the default editor
Other configurations
Git aliases
Shortcuts to common commands
Creating commands
git unstage
git undo
git last
git difflast
Advanced aliases with external commands
Removing an alias
Aliasing the git command itself
Useful techniques
Git stash - putting changes temporally aside
Git commit amend - modify the last commit
Git blame - tracing changes in a file
Tricks
Bare repositories
Converting a regular repository to a bare one
Backup repositories
Archiving the repository
Bundling the repository
Summary
Obtaining the Most - Good Commits and Workflows
The art of committing
Building the right commit
Making only one change per commit
Splitting up features and tasks
Writing commit messages before starting to code
Including the whole change in one commit
Describing the change, not what have you done
Don't be afraid to commit
Isolating meaningless commits
The perfect commit message
Writing a meaningful subject
Adding bulleted details lines when needed
Tying other useful information
Special messages for releases
Conclusions
Adopting a workflow - a wise act
Centralized workflows
How they work
Feature branch workflow
Gitflow
Master branch
Hotfixes branches
The develop branch
The release branch
The feature branches
Conclusion
GitHub flow
Anything in the master branch is deployable
Creating descriptive branches off of master
Pushing to named branches constantly
Opening a pull request at any time
Merging only after pull request review
Deploying immediately after review
Conclusions
Trunk-based development
Other workflows
Linux kernel workflow
Summary
Migrating to Git
Before starting
Installing a Subversion client
Working on a Subversion repository using Git
Creating a local Subversion repository
Checking out the Subversion repository with the svn client
Cloning a Subversion repository from Git
Adding a tag and a branch
Committing a file to Subversion using Git as a client
Retrieving new commits from the Subversion server
Using Git with a Subversion repository
Migrating a Subversion repository
Retrieving the list of Subversion users
Cloning the Subversion repository
Preserving ignored files
Pushing to a local bare Git repository
Arrange branches and tags
Renaming trunk branch to master
Converting Subversion tags to Git tags
Pushing the local repository to a remote
Comparing Git and Subversion commands
Summary
Git Resources
Git GUI clients
Windows
Git GUI
TortoiseGit
GitHub for Windows
Atlassian SourceTree
Cmder
macOS
Linux
Building up a personal Git server with web interface
SCM Manager
Learning Git in a visual manner
Git on the internet
Git for human beings Google Group
Git community on Google+
Git cheat sheets
Git Minutes and Thomas Ferris Nicolaisen blog
Online videos
Ferdinando Santacroce's blog
Summary
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜