GitNotesForProfessionals.pdf
(
2546 KB
)
Pobierz
Notes for Professionals
Git
Git
Notes for Professionals
®
of professional hints and tricks
100+ pages
GoalKicker.com
Free Programming Books
Disclaimer
This is an unocial free book created for educational purposes and is
not aliated with ocial Git
®
group(s) or company(s).
All trademarks and registered trademarks are
the property of their respective owners
Contents
About
................................................................................................................................................................................... 1
Chapter 1: Getting started with Git
...................................................................................................................... 2
Section 1.1: Create your first repository, then add and commit files
........................................................................ 2
Section 1.2: Clone a repository
..................................................................................................................................... 4
Section 1.3: Sharing code
.............................................................................................................................................. 4
Section 1.4: Setting your user name and email
.......................................................................................................... 5
Section 1.5: Setting up the upstream remote
.............................................................................................................. 6
Section 1.6: Learning about a command
.................................................................................................................... 6
Section 1.7: Set up SSH for Git
...................................................................................................................................... 6
Section 1.8: Git Installation
............................................................................................................................................ 7
Chapter 2: Browsing the history
......................................................................................................................... 10
Section 2.1: "Regular" Git Log
..................................................................................................................................... 10
Section 2.2: Prettier log
............................................................................................................................................... 11
Section 2.3: Colorize Logs
........................................................................................................................................... 11
Section 2.4: Oneline log
.............................................................................................................................................. 11
Section 2.5: Log search
............................................................................................................................................... 12
Section 2.6: List all contributions grouped by author name
................................................................................... 12
Section 2.7: Searching commit string in git log
........................................................................................................ 13
Section 2.8: Log for a range of lines within a file
..................................................................................................... 14
Section 2.9: Filter logs
................................................................................................................................................. 14
Section 2.10: Log with changes inline
........................................................................................................................ 14
Section 2.11: Log showing commited files
................................................................................................................. 15
Section 2.12: Show the contents of a single commit
................................................................................................ 15
Section 2.13: Git Log Between Two Branches
........................................................................................................... 16
Section 2.14: One line showing commiter name and time since commit
.............................................................. 16
Chapter 3: Working with Remotes
..................................................................................................................... 17
Section 3.1: Deleting a Remote Branch
..................................................................................................................... 17
Section 3.2: Changing Git Remote URL
..................................................................................................................... 17
Section 3.3: List Existing Remotes
.............................................................................................................................. 17
Section 3.4: Removing Local Copies of Deleted Remote Branches
....................................................................... 17
Section 3.5: Updating from Upstream Repository
.................................................................................................. 18
Section 3.6: ls-remote
................................................................................................................................................. 18
Section 3.7: Adding a New Remote Repository
....................................................................................................... 18
Section 3.8: Set Upstream on a New Branch
........................................................................................................... 18
Section 3.9: Getting Started
........................................................................................................................................ 19
Section 3.10: Renaming a Remote
............................................................................................................................. 19
Section 3.11: Show information about a Specific Remote
........................................................................................ 20
Section 3.12: Set the URL for a Specific Remote
...................................................................................................... 20
Section 3.13: Get the URL for a Specific Remote
...................................................................................................... 20
Section 3.14: Changing a Remote Repository
.......................................................................................................... 20
Chapter 4: Staging
.................................................................................................................................................... 21
Section 4.1: Staging All Changes to Files
................................................................................................................... 21
Section 4.2: Unstage a file that contains changes
................................................................................................... 21
Section 4.3: Add changes by hunk
............................................................................................................................ 21
Section 4.4: Interactive add
........................................................................................................................................ 22
Section 4.5: Show Staged Changes
........................................................................................................................... 22
Section 4.6: Staging A Single File
............................................................................................................................... 23
Section 4.7: Stage deleted files
.................................................................................................................................. 23
Chapter 5: Ignoring Files and Folders
.............................................................................................................. 24
Section 5.1: Ignoring files and directories with a .gitignore file
............................................................................... 24
Section 5.2: Checking if a file is ignored
................................................................................................................... 26
Section 5.3: Exceptions in a .gitignore file
................................................................................................................. 27
Section 5.4: A global .gitignore file
............................................................................................................................ 27
Section 5.5: Ignore files that have already been committed to a Git repository
................................................. 27
Section 5.6: Ignore files locally without committing ignore rules
........................................................................... 28
Section 5.7: Ignoring subsequent changes to a file (without removing it)
............................................................ 29
Section 5.8: Ignoring a file in any directory
.............................................................................................................. 29
Section 5.9: Prefilled .gitignore Templates
............................................................................................................... 29
Section 5.10: Ignoring files in subfolders (Multiple gitignore files)
......................................................................... 30
Section 5.11: Create an Empty Folder
........................................................................................................................ 31
Section 5.12: Finding files ignored by .gitignore
....................................................................................................... 31
Section 5.13: Ignoring only part of a file [stub]
........................................................................................................ 32
Section 5.14: Ignoring changes in tracked files. [stub]
............................................................................................ 33
Section 5.15: Clear already committed files, but included in .gitignore
................................................................. 34
Chapter 6: Git Di
....................................................................................................................................................... 35
Section 6.1: Show dierences in working branch
..................................................................................................... 35
Section 6.2: Show changes between two commits
.................................................................................................. 35
Section 6.3: Show dierences for staged files
.......................................................................................................... 35
Section 6.4: Comparing branches
............................................................................................................................. 36
Section 6.5: Show both staged and unstaged changes
.......................................................................................... 36
Section 6.6: Show dierences for a specific file or directory
.................................................................................. 36
Section 6.7: Viewing a word-di for long lines
......................................................................................................... 37
Section 6.8: Show dierences between current version and last version
............................................................. 37
Section 6.9: Produce a patch-compatible di
.......................................................................................................... 37
Section 6.10: dierence between two commit or branch
........................................................................................ 38
Section 6.11: Using meld to see all modifications in the working directory
........................................................... 38
Section 6.12: Di UTF-16 encoded text and binary plist files
.................................................................................. 38
Chapter 7: Undoing
.................................................................................................................................................... 40
Section 7.1: Return to a previous commit
................................................................................................................. 40
Section 7.2: Undoing changes
.................................................................................................................................... 40
Section 7.3: Using reflog
............................................................................................................................................. 41
Section 7.4: Undoing merges
..................................................................................................................................... 41
Section 7.5: Revert some existing commits
.............................................................................................................. 43
Section 7.6: Undo / Redo a series of commits
......................................................................................................... 43
Chapter 8: Merging
.................................................................................................................................................... 45
Section 8.1: Automatic Merging
.................................................................................................................................. 45
Section 8.2: Finding all branches with no merged changes
................................................................................... 45
Section 8.3: Aborting a merge
................................................................................................................................... 45
Section 8.4: Merge with a commit
............................................................................................................................. 45
Section 8.5: Keep changes from only one side of a merge
.................................................................................... 45
Section 8.6: Merge one branch into another
............................................................................................................ 46
Chapter 9: Submodules
........................................................................................................................................... 47
Section 9.1: Cloning a Git repository having submodules
....................................................................................... 47
Section 9.2: Updating a Submodule
.......................................................................................................................... 47
Section 9.3: Adding a submodule
.............................................................................................................................. 47
Section 9.4: Setting a submodule to follow a branch
.............................................................................................. 48
Section 9.5: Moving a submodule
.............................................................................................................................. 48
Section 9.6: Removing a submodule
......................................................................................................................... 49
Chapter 10: Committing
........................................................................................................................................... 50
Section 10.1: Stage and commit changes
.................................................................................................................. 50
Section 10.2: Good commit messages
...................................................................................................................... 51
Section 10.3: Amending a commit
............................................................................................................................. 52
Section 10.4: Committing without opening an editor
............................................................................................... 53
Section 10.5: Committing changes directly
............................................................................................................... 53
Section 10.6: Selecting which lines should be staged for committing
.................................................................... 53
Section 10.7: Creating an empty commit
.................................................................................................................. 54
Section 10.8: Committing on behalf of someone else
............................................................................................. 54
Section 10.9: GPG signing commits
............................................................................................................................ 55
Section 10.10: Commiting changes in specific files
................................................................................................... 55
Section 10.11: Committing at a specific date
............................................................................................................. 55
Section 10.12: Amending the time of a commit
........................................................................................................ 56
Section 10.13: Amending the author of a commit
..................................................................................................... 56
Chapter 11: Aliases
...................................................................................................................................................... 57
Section 11.1: Simple aliases
.......................................................................................................................................... 57
Section 11.2: List / search existing aliases
................................................................................................................. 57
Section 11.3: Advanced Aliases
................................................................................................................................... 57
Section 11.4: Temporarily ignore tracked files
.......................................................................................................... 58
Section 11.5: Show pretty log with branch graph
..................................................................................................... 58
Section 11.6: See which files are being ignored by your .gitignore configuration
................................................. 59
Section 11.7: Updating code while keeping a linear history
..................................................................................... 60
Section 11.8: Unstage staged files
.............................................................................................................................. 60
Chapter 12: Rebasing
................................................................................................................................................ 61
Section 12.1: Local Branch Rebasing
......................................................................................................................... 61
Section 12.2: Rebase: ours and theirs, local and remote
......................................................................................... 61
Section 12.3: Interactive Rebase
................................................................................................................................ 63
Section 12.4: Rebase down to the initial commit
...................................................................................................... 64
Section 12.5: Configuring autostash
.......................................................................................................................... 64
Section 12.6: Testing all commits during rebase
...................................................................................................... 65
Section 12.7: Rebasing before a code review
........................................................................................................... 65
Section 12.8: Aborting an Interactive Rebase
........................................................................................................... 67
Section 12.9: Setup git-pull for automatically perform a rebase instead of a merge
......................................... 68
Section 12.10: Pushing after a rebase
........................................................................................................................ 68
Chapter 13: Configuration
...................................................................................................................................... 69
Section 13.1: Setting which editor to use
.................................................................................................................... 69
Section 13.2: Auto correct typos
................................................................................................................................. 69
Section 13.3: List and edit the current configuration
................................................................................................ 70
Section 13.4: Username and email address
.............................................................................................................. 70
Section 13.5: Multiple usernames and email address
.............................................................................................. 70
Section 13.6: Multiple git configurations
.................................................................................................................... 71
Section 13.7: Configuring line endings
....................................................................................................................... 72
Section 13.8: configuration for one command only
................................................................................................. 72
Section 13.9: Setup a proxy
......................................................................................................................................... 72
Chapter 14: Branching
.............................................................................................................................................. 74
Section 14.1: Creating and checking out new branches
........................................................................................... 74
Section 14.2: Listing branches
.................................................................................................................................... 75
Section 14.3: Delete a remote branch
........................................................................................................................ 75
Section 14.4: Quick switch to the previous branch
................................................................................................... 76
Section 14.5: Check out a new branch tracking a remote branch
......................................................................... 76
Section 14.6: Delete a branch locally
......................................................................................................................... 76
Section 14.7: Create an orphan branch (i.e. branch with no parent commit)
....................................................... 77
Section 14.8: Rename a branch
................................................................................................................................. 77
Section 14.9: Searching in branches
.......................................................................................................................... 77
Section 14.10: Push branch to remote
........................................................................................................................ 77
Section 14.11: Move current branch HEAD to an arbitrary commit
......................................................................... 78
Chapter 15: Rev-List
.................................................................................................................................................. 79
Section 15.1: List Commits in master but not in origin/master
............................................................................... 79
Chapter 16: Squashing
.............................................................................................................................................. 80
Section 16.1: Squash Recent Commits Without Rebasing
........................................................................................ 80
Section 16.2: Squashing Commit During Merge
....................................................................................................... 80
Section 16.3: Squashing Commits During a Rebase
................................................................................................. 80
Section 16.4: Autosquashing and fixups
.................................................................................................................... 81
Section 16.5: Autosquash: Committing code you want to squash during a rebase
............................................. 82
Chapter 17: Cherry Picking
..................................................................................................................................... 83
Section 17.1: Copying a commit from one branch to another
................................................................................ 83
Section 17.2: Copying a range of commits from one branch to another
.............................................................. 83
Section 17.3: Checking if a cherry-pick is required
................................................................................................... 84
Section 17.4: Find commits yet to be applied to upstream
..................................................................................... 84
Chapter 18: Recovering
............................................................................................................................................ 85
Section 18.1: Recovering from a reset
....................................................................................................................... 85
Section 18.2: Recover from git stash
......................................................................................................................... 85
Section 18.3: Recovering from a lost commit
........................................................................................................... 86
Section 18.4: Restore a deleted file after a commit
................................................................................................. 86
Section 18.5: Restore file to a previous version
........................................................................................................ 86
Section 18.6: Recover a deleted branch
.................................................................................................................... 87
Chapter 19: Git Clean
................................................................................................................................................. 88
Section 19.1: Clean Interactively
................................................................................................................................. 88
Section 19.2: Forcefully remove untracked files
....................................................................................................... 88
Section 19.3: Clean Ignored Files
................................................................................................................................ 88
Section 19.4: Clean All Untracked Directories
........................................................................................................... 88
Chapter 20: Using a .gitattributes file
............................................................................................................. 90
Section 20.1: Automatic Line Ending Normalization
................................................................................................ 90
Section 20.2: Identify Binary Files
.............................................................................................................................. 90
Section 20.3: Prefilled .gitattribute Templates
......................................................................................................... 90
Section 20.4: Disable Line Ending Normalization
.................................................................................................... 90
Chapter 21: .mailmap file: Associating contributor and email aliases
............................................ 91
Section 21.1: Merge contributers by aliases to show commit count in shortlog
................................................... 91
Chapter 22: Analyzing types of workflows
.................................................................................................... 92
Section 22.1: Centralized Workflow
........................................................................................................................... 92
Section 22.2: Gitflow Workflow
.................................................................................................................................. 93
Section 22.3: Feature Branch Workflow
................................................................................................................... 95
Section 22.4: GitHub Flow
........................................................................................................................................... 95
Section 22.5: Forking Workflow
................................................................................................................................. 96
Chapter 23: Pulling
..................................................................................................................................................... 97
Section 23.1: Pulling changes to a local repository
.................................................................................................. 97
Section 23.2: Updating with local changes
............................................................................................................... 98
Section 23.3: Pull, overwrite local
............................................................................................................................... 98
Plik z chomika:
Rivit
Inne pliki z tego folderu:
Elaine Rich - Automata, Computability and Complexity.pdf
(112238 KB)
HaskellNotesForProfessionals.pdf
(1943 KB)
MicrosoftSQLServerNotesForProfessionals.pdf
(2705 KB)
MATLABNotesForProfessionals.pdf
(2886 KB)
GitNotesForProfessionals.pdf
(2546 KB)
Inne foldery tego chomika:
Android
Filmy
Gry PC PSX + CRACKI
Muzyka
Programy
Zgłoś jeśli
naruszono regulamin