Git Essentials - Second Edition
图书信息
| 作者 | Ferdinando Santacroce |
| 出版社 | Packt Publishing |
| ISBN | 9781787283176 |
| 出版时间 | 2017-11-08 |
| 字数 | 23.0万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
Dive and explore into the latest addons of the latest Git.About This Book·Master all the basic concepts of Git to protect your code and make it easier to evolve·Use Git proficiently, and learn how to resolve day-by-day challenges easily·This step-by-step guide is packed with examples to help you learn and work with Git's internalsWho This Book Is ForIf you are a software developer with little or no experience of versioning systems, or you are familiar with other centralized versioning systems, then this book is for you.If you have experience in server and system management and need to broaden your use of Git from a DevOps perspective, this book contains everything you need.What You Will Learn·Master Git fundamentals·Be able to "visualize," even with the help of a valid GUI tool·Write principal commands in a shell·Figure out the right strategy to run change your daily work with few or no annoyances·Explore the tools used to migrate to Git from the Subversion versioning system without losing your development history·Plan new projects and repositories with ease, using online services, or local network resourcesIn DetailSince its inception, Git has attracted skilled developers due to its robust, powerful, and reliable features. Its incredibly fast branching ability transformed a piece of code from a niche tool for Linux Kernel developers into a mainstream distributed versioning system. Like most powerful tools, Git can be hard to approach since it has a lot of commands, subcommands, and options that easily confuse newcomers.The 2nd edition of this very successful book will help you overcome this fear and become adept in all the basic tasks in Git. Building upon the success of the first book, we start with a brief step-by-step installation guide; after this, you'll delve into the essentials of Git. For those of you who have bought the first edition, this time we go into internals in far greater depth, talking less about theory and using much more practical examples.The book serves as a primer for topics to follow, such as branching and merging, creating and managing a GitHub personal repository, and fork and pull requests. You'll then learn the art of cherry-picking, taking only the commits you want, followed by Git blame. Finally, we'll see how to interoperate with a Subversion server, covering the concepts and commands needed to convert an SVN repository into a Git repository.To conclude, this is a collection of resources, links, and appendices to satisfy even the most curious.Style and approachThis short guide will help you understand the concepts and fundamentals of GIT is a step-by-step manner.
目录
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
- 饿兔子跳(孙家宇)
- 四季筵(清辰)
- 姚明(1)(读书堂)
- Orlando Furioso: Bilingual Edition (English – Italian)(Ludovico Ariosto)
- 图说天下学生版 超级兵器传奇 世界王牌武器陆海空大阅兵(套装共3册)(试读本)(薛金冉 编著)
- AutoCAD 2018中文版完全自学手册(龙马高新教育 策划 教传艳)
- 谦逊的问讯:以询问开启良好关系的艺术(原书第2版)((美)埃德加·沙因,(美)彼得·沙因)
- 数据资本论([美]阿莱克斯·彭特兰[美]亚历山大·利普顿 [美]托马斯·哈德乔诺)
