Magit User Manual for Version 2.13.0
Total Page:16
File Type:pdf, Size:1020Kb
Magit User Manual for version 2.13.0 Jonas Bernoulli Copyright (C) 2015-2018 Jonas Bernoulli <[email protected]> You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABIL- ITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. i Table of Contents 1 Introduction ::::::::::::::::::::::::::::::::::::: 1 2 Installation::::::::::::::::::::::::::::::::::::::: 3 2.1 Installing from an Elpa Archive ::::::::::::::::::::::::::::::::: 3 2.2 Installing from the Git Repository :::::::::::::::::::::::::::::: 3 2.3 Post-Installation Tasks ::::::::::::::::::::::::::::::::::::::::: 4 3 Getting Started:::::::::::::::::::::::::::::::::: 6 4 Interface Concepts :::::::::::::::::::::::::::::: 8 4.1 Modes and Buffers:::::::::::::::::::::::::::::::::::::::::::::: 8 4.1.1 Switching Buffers :::::::::::::::::::::::::::::::::::::::::: 8 4.1.2 Naming Buffers ::::::::::::::::::::::::::::::::::::::::::: 10 4.1.3 Quitting Windows :::::::::::::::::::::::::::::::::::::::: 11 4.1.4 Automatic Refreshing of Magit Buffers :::::::::::::::::::: 11 4.1.5 Automatic Saving of File-Visiting Buffers ::::::::::::::::: 12 4.1.6 Automatic Reverting of File-Visiting Buffers :::::::::::::: 12 Risk of Reverting Automatically :::::::::::::::::::::::::::::: 14 4.2 Sections ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 15 4.2.1 Section Movement :::::::::::::::::::::::::::::::::::::::: 15 4.2.2 Section Visibility ::::::::::::::::::::::::::::::::::::::::: 16 4.2.3 Section Hooks :::::::::::::::::::::::::::::::::::::::::::: 18 4.2.4 Section Types and Values ::::::::::::::::::::::::::::::::: 19 4.2.5 Section Options :::::::::::::::::::::::::::::::::::::::::: 19 4.3 Popup Buffers and Prefix Commands :::::::::::::::::::::::::: 19 4.4 Completion, Confirmation and the Selection ::::::::::::::::::: 20 4.4.1 Action Confirmation :::::::::::::::::::::::::::::::::::::: 20 4.4.2 Completion and Confirmation::::::::::::::::::::::::::::: 22 4.4.3 The Selection ::::::::::::::::::::::::::::::::::::::::::::: 23 4.4.4 The hunk-internal region:::::::::::::::::::::::::::::::::: 24 4.4.5 Support for Completion Frameworks :::::::::::::::::::::: 24 4.4.6 Additional Completion Options ::::::::::::::::::::::::::: 26 4.5 Running Git::::::::::::::::::::::::::::::::::::::::::::::::::: 26 4.5.1 Viewing Git Output :::::::::::::::::::::::::::::::::::::: 26 4.5.2 Git Process Status :::::::::::::::::::::::::::::::::::::::: 26 4.5.3 Running Git Manually :::::::::::::::::::::::::::::::::::: 27 4.5.4 Git Executable ::::::::::::::::::::::::::::::::::::::::::: 28 4.5.5 Global Git Arguments :::::::::::::::::::::::::::::::::::: 28 5 Inspecting::::::::::::::::::::::::::::::::::::::: 29 5.1 Status Buffer :::::::::::::::::::::::::::::::::::::::::::::::::: 29 ii 5.1.1 Status Sections ::::::::::::::::::::::::::::::::::::::::::: 30 5.1.2 Status Header Sections ::::::::::::::::::::::::::::::::::: 32 5.1.3 Status Module Sections ::::::::::::::::::::::::::::::::::: 33 5.1.4 Status Options ::::::::::::::::::::::::::::::::::::::::::: 34 5.2 Repository List :::::::::::::::::::::::::::::::::::::::::::::::: 35 5.3 Logging ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 36 5.3.1 Refreshing Logs :::::::::::::::::::::::::::::::::::::::::: 36 5.3.2 Log Buffer:::::::::::::::::::::::::::::::::::::::::::::::: 37 5.3.3 Log Margin::::::::::::::::::::::::::::::::::::::::::::::: 38 5.3.4 Select from Log::::::::::::::::::::::::::::::::::::::::::: 39 5.3.5 Reflog :::::::::::::::::::::::::::::::::::::::::::::::::::: 40 5.3.6 Cherries :::::::::::::::::::::::::::::::::::::::::::::::::: 41 5.4 Diffing :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 41 5.4.1 Refreshing Diffs :::::::::::::::::::::::::::::::::::::::::: 42 5.4.2 Diff Buffer:::::::::::::::::::::::::::::::::::::::::::::::: 44 5.4.3 Diff Options :::::::::::::::::::::::::::::::::::::::::::::: 45 5.4.4 Revision Buffer ::::::::::::::::::::::::::::::::::::::::::: 47 5.5 Ediffing ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 47 5.6 References Buffer :::::::::::::::::::::::::::::::::::::::::::::: 49 5.6.1 References Sections ::::::::::::::::::::::::::::::::::::::: 52 5.7 Bisecting :::::::::::::::::::::::::::::::::::::::::::::::::::::: 52 5.8 Visiting Blobs ::::::::::::::::::::::::::::::::::::::::::::::::: 53 5.9 Blaming ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 53 6 Manipulating ::::::::::::::::::::::::::::::::::: 56 6.1 Repository Setup :::::::::::::::::::::::::::::::::::::::::::::: 56 6.2 Staging and Unstaging::::::::::::::::::::::::::::::::::::::::: 56 6.2.1 Staging from File-Visiting Buffers ::::::::::::::::::::::::: 57 6.3 Applying :::::::::::::::::::::::::::::::::::::::::::::::::::::: 58 6.4 Committing ::::::::::::::::::::::::::::::::::::::::::::::::::: 58 6.4.1 Initiating a Commit :::::::::::::::::::::::::::::::::::::: 59 6.4.2 Editing Commit Messages :::::::::::::::::::::::::::::::: 60 6.5 Branching ::::::::::::::::::::::::::::::::::::::::::::::::::::: 64 6.5.1 The Two Remotes :::::::::::::::::::::::::::::::::::::::: 64 6.5.2 The Branch Popup ::::::::::::::::::::::::::::::::::::::: 64 6.5.3 The Branch Config Popup :::::::::::::::::::::::::::::::: 70 6.5.4 Auxillary Branch Commands ::::::::::::::::::::::::::::: 72 6.6 Merging ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 72 6.7 Resolving Conflicts :::::::::::::::::::::::::::::::::::::::::::: 74 6.8 Rebasing :::::::::::::::::::::::::::::::::::::::::::::::::::::: 75 6.8.1 Editing Rebase Sequences::::::::::::::::::::::::::::::::: 77 6.8.2 Information About In-Progress Rebase :::::::::::::::::::: 78 6.9 Cherry Picking :::::::::::::::::::::::::::::::::::::::::::::::: 81 6.9.1 Reverting::::::::::::::::::::::::::::::::::::::::::::::::: 82 6.10 Resetting::::::::::::::::::::::::::::::::::::::::::::::::::::: 83 6.11 Stashing ::::::::::::::::::::::::::::::::::::::::::::::::::::: 83 iii 7 Transferring :::::::::::::::::::::::::::::::::::: 86 7.1 Remotes::::::::::::::::::::::::::::::::::::::::::::::::::::::: 86 7.1.1 The Remote Popup ::::::::::::::::::::::::::::::::::::::: 86 7.1.2 The Remote Config Popup :::::::::::::::::::::::::::::::: 87 7.2 Fetching::::::::::::::::::::::::::::::::::::::::::::::::::::::: 88 7.3 Pulling :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 88 7.4 Pushing ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 89 7.5 Creating and Sending Patches ::::::::::::::::::::::::::::::::: 90 7.6 Applying Patches:::::::::::::::::::::::::::::::::::::::::::::: 91 8 Miscellaneous::::::::::::::::::::::::::::::::::: 92 8.1 Tagging ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 92 8.2 Notes ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 92 8.3 Submodules ::::::::::::::::::::::::::::::::::::::::::::::::::: 93 8.3.1 Listing Submodules ::::::::::::::::::::::::::::::::::::::: 93 8.3.2 Submodule Popup :::::::::::::::::::::::::::::::::::::::: 94 8.4 Subtree ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 95 8.5 Worktree :::::::::::::::::::::::::::::::::::::::::::::::::::::: 95 8.6 Common Commands :::::::::::::::::::::::::::::::::::::::::: 96 8.7 Wip Modes:::::::::::::::::::::::::::::::::::::::::::::::::::: 96 8.8 Minor Mode for Buffers Visiting Files :::::::::::::::::::::::::: 99 8.9 Minor Mode for Buffers Visiting Blobs :::::::::::::::::::::::: 100 9 Customizing ::::::::::::::::::::::::::::::::::: 102 9.1 Per-Repository Configuration ::::::::::::::::::::::::::::::::: 102 9.2 Essential Settings :::::::::::::::::::::::::::::::::::::::::::: 103 9.2.1 Safety ::::::::::::::::::::::::::::::::::::::::::::::::::: 103 9.2.2 Performance::::::::::::::::::::::::::::::::::::::::::::: 103 Log Performance :::::::::::::::::::::::::::::::::::::::::::: 104 Diff Performance :::::::::::::::::::::::::::::::::::::::::::: 105 Refs Buffer Performance ::::::::::::::::::::::::::::::::::::: 105 Committing Performance :::::::::::::::::::::::::::::::::::: 105 The Built-In VC Package :::::::::::::::::::::::::::::::::::: 105 Microsoft Windows Performance ::::::::::::::::::::::::::::: 105 MacOS Performance::::::::::::::::::::::::::::::::::::::::: 106 10 Plumbing ::::::::::::::::::::::::::::::::::::: 107 10.1 Calling Git:::::::::::::::::::::::::::::::::::::::::::::::::: 107 10.1.1 Getting a Value from Git ::::::::::::::::::::::::::::::: 107 10.1.2 Calling Git for Effect ::::::::::::::::::::::::::::::::::: 108 10.2 Section Plumbing ::::::::::::::::::::::::::::::::::::::::::: 111 10.2.1 Creating Sections::::::::::::::::::::::::::::::::::::::: 111 10.2.2 Section Selection ::::::::::::::::::::::::::::::::::::::: 112 10.2.3 Matching Sections :::::::::::::::::::::::::::::::::::::: 112 10.3 Refreshing Buffers::::::::::::::::::::::::::::::::::::::::::: 114 10.4 Conventions::::::::::::::::::::::::::::::::::::::::::::::::: 115 10.4.1 Theming Faces ::::::::::::::::::::::::::::::::::::::::: 115 iv Appendix A FAQ:::::::::::::::::::::::::::::::: 118 A.1 FAQ - How to . .? :::::::::::::::::::::::::::::::::::::::::: 118 A.1.1 How to show git's output? :::::::::::::::::::::::::::::: 118 A.1.2 How to install the gitman info manual?:::::::::::::::::: 118 A.1.3 How to show diffs for gpg-encrypted files? ::::::::::::::: 118 A.1.4 How does branching and pushing work? ::::::::::::::::: 118 A.1.5 Can Magit be used as ediff-version-control-package? :: 118 A.2 FAQ - Issues