Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 448 lines (346 sloc) 18.284 kB
343382c Added empty manual.
Marius Vollmer authored
1 \input texinfo.tex @c -*-texinfo-*-
2 @c %**start of header
3 @setfilename magit.info
4 @settitle Magit User Manual
5 @c %**end of header
6
7 @dircategory Emacs
8 @direntry
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
9 * Magit: (magit). Using Git from Emacs with Magit.
343382c Added empty manual.
Marius Vollmer authored
10 @end direntry
11
12 @copying
13 Copyright @copyright{} 2008 Marius Vollmer
14
15 @quotation
16 Permission is granted to copy, distribute and/or modify this document
17 under the terms of the GNU Free Documentation License, Version 1.2 or
18 any later version published by the Free Software Foundation; with no
19 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
ff21f5a Some content for the manual.
Marius Vollmer authored
20 Texts.
343382c Added empty manual.
Marius Vollmer authored
21 @end quotation
22 @end copying
23
24 @node Top
ff21f5a Some content for the manual.
Marius Vollmer authored
25 @top Magit User Manual
343382c Added empty manual.
Marius Vollmer authored
26
62b5fd8 Doc updates.
Marius Vollmer authored
27 Magit is an interface to the version control system Git, implemented
28 as an extension to Emacs.
343382c Added empty manual.
Marius Vollmer authored
29
30 @menu
31 * Introduction::
ea626db Fix two bugs from introducing the item abstraction.
Marius Vollmer authored
32 * Acknowledgments::
62643f9 Chapter renamings.
Marius Vollmer authored
33 * Status::
c8cdc5e Manual updates.
Marius Vollmer authored
34 * Staging and Committing::
62643f9 Chapter renamings.
Marius Vollmer authored
35 * History::
c8cdc5e Manual updates.
Marius Vollmer authored
36 * Reflogs::
a21e998 Manual fixes.
Marius Vollmer authored
37 * Diffing::
e8cc5fd Updated manual menus.
Marius Vollmer authored
38 * Resetting::
a21e998 Manual fixes.
Marius Vollmer authored
39 * Branching::
40 * Merging::
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
41 * Rebasing::
2733ae2 Document rewriting.
Marius Vollmer authored
42 * Rewriting::
ff21f5a Some content for the manual.
Marius Vollmer authored
43 * Pushing and Pulling::
343382c Added empty manual.
Marius Vollmer authored
44 @end menu
45
46 @node Introduction
47 @chapter Introduction
ff21f5a Some content for the manual.
Marius Vollmer authored
48
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
49 With Magit, you can inspect and modify any number of Git repositories.
ff21f5a Some content for the manual.
Marius Vollmer authored
50 You can review and commit the changes you have made to the tracked
51 files, for example, and you can browse the history of past changes.
c8cdc5e Manual updates.
Marius Vollmer authored
52 There is also support for cherry picking, reverting, merging and
53 rebasing, and other common Git operations.
ff21f5a Some content for the manual.
Marius Vollmer authored
54
1017a27 Updated manual.
Marius Vollmer authored
55 Magit is not a complete interface to Git; it just aims to make the
56 most common Git operations convenient. Thus, Magit will likely not
57 save you from learning Git itself.
ff21f5a Some content for the manual.
Marius Vollmer authored
58
636c676 Manual improvements.
Marius Vollmer authored
59 This manual provides a tour of all Magit features. It does not give a
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
60 introduction to version control in general, or to Git in particular.
ff21f5a Some content for the manual.
Marius Vollmer authored
61
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
62 The main entry point to Magit is @kbd{M-x magit-status}, which will
63 put you in Magit's status buffer. You will be using it frequently, so
ff21f5a Some content for the manual.
Marius Vollmer authored
64 it is probably a good idea to bind @code{magit-status} to a key of
65 your choice.
66
6538ce4 Manual improvements and updates.
Marius Vollmer authored
67 In addition to the status buffer, Magit will also create buffers that
68 show lists of commits, buffers with diffs, and other kinds of buffers.
69 All these buffers are in @code{magit-mode} and have the same key
70 bindings. Not all commands make sense in all contexts, but a given
c8cdc5e Manual updates.
Marius Vollmer authored
71 key will always do the same thing in all Magit buffers.
6538ce4 Manual improvements and updates.
Marius Vollmer authored
72
e110ed0 Acknowledgements.
Marius Vollmer authored
73 @node Acknowledgments
74 @chapter Acknowledgments
75
76 From day one of the first Magit announcement, John Wiegley, Linh Dang,
77 and Christian Neukirchen have contributed fixes, UI improvements, and
78 new features. Thanks!
79
a93f24b Acknowledge Phil.
Marius Vollmer authored
80 Phil Hagelberg joined a few days later. Thanks!
81
62643f9 Chapter renamings.
Marius Vollmer authored
82 @node Status
83 @chapter Status
ff21f5a Some content for the manual.
Marius Vollmer authored
84
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
85 Running @kbd{M-x magit-status} displays the main interface of Magit,
59aac28 Updated manual and TODO.
Marius Vollmer authored
86 the status buffer. You can have multiple status buffers active at the
87 same time, each associated with its own Git repository.
636c676 Manual improvements.
Marius Vollmer authored
88
89 You need to explicitly refresh the status buffer when you have made
90 changes to the repository from outside of Emacs. You can type @kbd{g}
91 in the status buffer itself, or just use @kbd{M-x magit-status}
92 instead of @kbd{C-x b} when switching to it. You also need to refresh
93 the status buffer in this way after saving a file in Emacs.
94
95 The header at the top of the status buffer shows a short summary of
96 the repository state: where it is located, which branch is checked
c8cdc5e Manual updates.
Marius Vollmer authored
97 out, etc. Below the header are a number of sections that show details
822adda Omit empty sections.
Marius Vollmer authored
98 about the working tree and the staging area. Only sections that are
99 not empty are shown.
ff21f5a Some content for the manual.
Marius Vollmer authored
100
c8cdc5e Manual updates.
Marius Vollmer authored
101 You control how much of a section is visible by moving point to its
8a96fa0 Different hide/show behavior.
Marius Vollmer authored
102 title and hitting @kbd{TAB} or @kbd{S-TAB}. Hitting @kbd{TAB} will
103 toggle between hiding and showing the section. A hidden section only
104 shows its first line. You can also control the visibility of
105 sub-sections in this way. Hitting @kbd{S-TAB} will fully expand a
106 section by showing it and all of its sub-sections. If a section is
107 already fully expanded, @kbd{S-TAB} will collapse it: the section
108 itself remains shown, but all its immediate sub-sections are hidden.
109
138ac10 The "Untracked files" section is back, with better ignoring.
Marius Vollmer authored
110 The first section shows @emph{Untracked files}, if there are any. See
111 @ref{Untracked files} for more details.
1017a27 Updated manual.
Marius Vollmer authored
112
113 Two section show your local changes. They are explained fully in the
114 next chapter, @ref{Staging and Committing}.
115
116 If the current branch is associated with a remote tracking branch, the
117 status buffer shows the differences between the current branch and the
118 tracking branch. See @ref{Pushing and Pulling} for more information.
c8cdc5e Manual updates.
Marius Vollmer authored
119
120 Typing a digit in the status buffer will move point to a section
138ac10 The "Untracked files" section is back, with better ignoring.
Marius Vollmer authored
121 header: @kbd{1} will move to @emph{Untracked files}, @kbd{2} will move
c8cdc5e Manual updates.
Marius Vollmer authored
122 to @emph{Unstaged changes} or @emph{Changes}, @kbd{3} will move to
123 @emph{Staged changes}, and @kbd{4} will move to @emph{Unpushed
124 commits}. Note that these relations are fixed, @kbd{3} always moves
125 to @emph{Unstaged changes}, not the third visible section.
126
138ac10 The "Untracked files" section is back, with better ignoring.
Marius Vollmer authored
127 @node Untracked files
128 @chapter Untracked files
129
130 Untracked files are shown in the @emph{Untracked changes} section.
131
132 You can instruct Git to ignore them by typing @kbd{i}. This will add
133 the filename to the @code{.gitignore} file. Typing @kbd{C-u i} will
134 ask you for the name of the file to ignore. This is useful to ignore
135 whole directories, for example. The @kbd{I} command is similar to
136 @kbd{i} but will add the file to @code{.git/info/exclude} instead.
137
138 To delete a untracked file forever, use @kbd{k}.
139
c8cdc5e Manual updates.
Marius Vollmer authored
140 @node Staging and Committing
141 @chapter Staging and Committing
142
143 Comitting with Git is conceptually a two step process: first you add
144 the changes you want to commit to a 'staging area', and then you
145 commit them to the repository. This allows you to only commit a
146 subset of your local changes.
147
148 Magit allows you to ignore the staging area if you wish. As long as
149 your staging area is unused, Magit will show your uncomitted changes
150 in a section named @emph{Changes}.
151
152 When the staging area is in use, Magit uses two sections:
153 @emph{Unstaged changes} and @emph{Staged changes}. The @emph{Staged
154 changes} section shows the changes that will be included in the next
155 commit, while the @emph{Unstaged changes} section shows the changes
156 that will be left out.
ff21f5a Some content for the manual.
Marius Vollmer authored
157
c8cdc5e Manual updates.
Marius Vollmer authored
158 To move a unstaged hunk into the staging area, move point into the
159 hunk and type @kbd{s}. Likewise, to unstage a hunk, move point into
160 it and type @kbd{u}. If point is in a diff header when you type
161 @kbd{s} or @kbd{u}, all hunks belonging to that diff are moved at the
14004f4 Stage/unstage, etc individual lines.
Marius Vollmer authored
162 same time.
163
164 If the region is active when you type @kbd{s} or @kbd{u}, only the
165 changes in the region are staged or unstaged. (This works line by
166 line: if the beginning of a line is in the region it is included in
167 the changes, otherwise it is not.)
168
169 To move all hunks of all diffs into the staging area in one go, type
170 @kbd{S}. To unstage everything, type @kbd{U}.
171
172 You can discard uncommitted changes by moving point into a hunk and
173 typing @kbd{k}. The changes to discard are selected as with @kbd{s}
174 and @kbd{u}.
ff21f5a Some content for the manual.
Marius Vollmer authored
175
c8cdc5e Manual updates.
Marius Vollmer authored
176 Before committing, you should write a short description of the
177 changes.
ff21f5a Some content for the manual.
Marius Vollmer authored
178
179 Type @kbd{c} to pop up a buffer where you can write your change
180 description. Once you are happy with the description, type @kbd{C-c
c8cdc5e Manual updates.
Marius Vollmer authored
181 C-c} in that buffer to perform the commit. When your stagin area is
182 unused at this point, all your uncommitted changes are committed.
183 When the staging area is in use, only the staged changes are
184 committed.
185
186 You can type @kbd{C-c C-a} in the buffer with the change description
187 toggles a flag that determines whether the next commit will be a
188 @emph{amending} one.
ff21f5a Some content for the manual.
Marius Vollmer authored
189
6538ce4 Manual improvements and updates.
Marius Vollmer authored
190 Typing @kbd{C} will also pop up the change description buffer, but in
191 addition, it will try to insert a ChangeLog-style entry for the change
192 that point is in.
ff21f5a Some content for the manual.
Marius Vollmer authored
193
62643f9 Chapter renamings.
Marius Vollmer authored
194 @node History
195 @chapter History
ff21f5a Some content for the manual.
Marius Vollmer authored
196
6538ce4 Manual improvements and updates.
Marius Vollmer authored
197 To show the repository history of your current head, type @kbd{l}. A
198 new buffer will be shown that displays the history in a terse form.
ff21f5a Some content for the manual.
Marius Vollmer authored
199 The first paragraph of each commit message is displayed, next to a
200 representation of the relationships between commits.
201
6538ce4 Manual improvements and updates.
Marius Vollmer authored
202 Typing @kbd{L} will ask for the starting and end point of the history.
203 This can be used to show the commits that are in one branch, but not
204 in another, for example.
205
ff21f5a Some content for the manual.
Marius Vollmer authored
206 You can move point to a commit and then cause various things to happen
6538ce4 Manual improvements and updates.
Marius Vollmer authored
207 with it. (The following commands work in any list of commit, such as
208 the one shown in the @emph{Unpushed commits} section.)
ff21f5a Some content for the manual.
Marius Vollmer authored
209
c8cdc5e Manual updates.
Marius Vollmer authored
210 Typing @kbd{RET} will pop up more information about the current commit
211 and move point into the new buffer. Typing @kbd{SPC} and @kbd{DEL}
212 will also show the information, but will scroll the new buffer up or
213 down when typed again.
ff21f5a Some content for the manual.
Marius Vollmer authored
214
c8cdc5e Manual updates.
Marius Vollmer authored
215 Typing @kbd{a} will apply the current commit to your current branch.
216 This is useful when you are browsing the history of some other branch
217 and you want to `cherry-pick' some changes from it. A typical
218 situation is applying selected bug fixes from the development version
219 of a program to a release branch. The cherry-picked changes will not
220 be committed automatically; you need to do that explicitly.
221
222 Typing @kbd{A} will cherry-pick the current commit and will also
223 commit the changes automatically when there have not been any
224 conflicts.
ff21f5a Some content for the manual.
Marius Vollmer authored
225
6538ce4 Manual improvements and updates.
Marius Vollmer authored
226 Typing @kbd{v} will revert the current commit. Thus, it will apply
227 the changes made by that commit in reverse. This is obviously useful
c8cdc5e Manual updates.
Marius Vollmer authored
228 to cleanly undo changes that turned out to be wrong. As with @kbd{a},
229 you need to commit the changes explicitly.
ff21f5a Some content for the manual.
Marius Vollmer authored
230
6538ce4 Manual improvements and updates.
Marius Vollmer authored
231 Typing @kbd{=} will show the differences from the current commit to
232 the @dfn{marked} commit.
ff21f5a Some content for the manual.
Marius Vollmer authored
233
6538ce4 Manual improvements and updates.
Marius Vollmer authored
234 You can mark the current commit by typing @kbd{.}. Some commands,
235 such as @kbd{=}, will use the current commit and the marked commit as
236 implicit arguments. Other commands will offer the marked commit as a
237 default when prompting for their arguments.
ff21f5a Some content for the manual.
Marius Vollmer authored
238
c8cdc5e Manual updates.
Marius Vollmer authored
239 @node Reflogs
240 @chapter Reflogs
241
242 You can use @kbd{h} and @kbd{H} to browse your @emph{reflog}, the
243 local history of changes made to your repository heads. Typing
244 @kbd{H} will ask for a head, while @kbd{h} will show the reflog of
245 @code{HEAD}.
246
247 The resulting buffer is just like the buffer produced by @kbd{l} and
248 @kbd{L} that shows the commit history.
249
6538ce4 Manual improvements and updates.
Marius Vollmer authored
250 @node Diffing
251 @chapter Diffing
252
253 To show the changes from you working tree to another revision, type
254 @kbd{d}. To show the changes between two arbitrary revisions, type
255 @kbd{D}.
48386c9 Unified keymaps, make resetting use the commit at point instead of
Marius Vollmer authored
256
14004f4 Stage/unstage, etc individual lines.
Marius Vollmer authored
257 You can use @kbd{a} within the diff output to apply the changes to
258 your working tree. As usual when point is in a diff header for a
259 file, all changes for that file are applied, and when it is in a hunk,
260 only that hunk is. When the region is active, the applied changes are
261 restricted to that region.
262
263 Typing @kbd{v} will apply the selected changes in reverse.
264
22ee4f7 Rebasing.
Marius Vollmer authored
265 @node Resetting
266 @chapter Resetting
11689b7 Manual additions.
Marius Vollmer authored
267
268 Once you have added a commit to your local repository, you can not
52c2e3e Speling fixes.
Marius Vollmer authored
269 change that commit anymore in any way. But you can reset your current
270 head to an earlier commit and start over.
11689b7 Manual additions.
Marius Vollmer authored
271
6538ce4 Manual improvements and updates.
Marius Vollmer authored
272 If you have published your history already, rewriting it in this way
273 can be confusing and should be avoided. However, rewriting your local
274 history is fine and it is often cleaner to fix mistakes this way than
c8cdc5e Manual updates.
Marius Vollmer authored
275 by reverting commits (with @kbd{v}, for example).
11689b7 Manual additions.
Marius Vollmer authored
276
6538ce4 Manual improvements and updates.
Marius Vollmer authored
277 Typing @kbd{x} will ask for a revision and reset your current head to
278 it. No changes will be made to your working tree and staging area.
279 Thus, the @emph{Staged changes} section in the status buffer will show
280 the changes that you have removed from your commit history. You can
281 commit the changes again as if you had just made them, thus rewriting
282 history.
11689b7 Manual additions.
Marius Vollmer authored
283
6538ce4 Manual improvements and updates.
Marius Vollmer authored
284 Typing @kbd{x} while point is in a line that describes a commit will
285 offer this commit as the default revision to reset to. Thus, you can
286 move point to one of the commits in the @emph{Unpushed commits}
287 section and hit @kbd{x RET} to reset your current head to it.
11689b7 Manual additions.
Marius Vollmer authored
288
6538ce4 Manual improvements and updates.
Marius Vollmer authored
289 Type @kbd{X} to reset your working tree and staging area to the most
290 recently committed state. This will discard your local modifications,
291 so be careful.
e4aceaf Manual additions.
Marius Vollmer authored
292
a21e998 Manual fixes.
Marius Vollmer authored
293 @node Branching
294 @chapter Branching
ff21f5a Some content for the manual.
Marius Vollmer authored
295
296 The current branch is indicated in the header of the status buffer.
6538ce4 Manual improvements and updates.
Marius Vollmer authored
297 You can switch to a different branch by typing @kbd{b}. This will
298 immediately checkout the branch into your working copy, so you
299 shouldn't have any local modifications when switching branches.
300
a21e998 Manual fixes.
Marius Vollmer authored
301 Similar to @kbd{x}, typing @kbd{b} while point is at a commit
6538ce4 Manual improvements and updates.
Marius Vollmer authored
302 description will offer that commit as the default to switch to.
303 This will result in a detached head.
304
305 To create a new branch and switch to it immediately, type @kbd{B}.
ff21f5a Some content for the manual.
Marius Vollmer authored
306
6538ce4 Manual improvements and updates.
Marius Vollmer authored
307 @node Merging
308 @chapter Merging
ff21f5a Some content for the manual.
Marius Vollmer authored
309
310 Magit offers two ways to merge branches: manually and automatic. A
311 manual merge will apply all changes to your working tree and staging
312 area, but will not commit them, while a automatic merge will go ahead
313 and commit them immediately.
314
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
315 Type @kbd{m} to initiate a manual merge, and type @kbd{M} for a
316 automatic merge.
317
ff21f5a Some content for the manual.
Marius Vollmer authored
318 A manual merge is useful when carefully merging a new feature that you
6538ce4 Manual improvements and updates.
Marius Vollmer authored
319 want to review and test before even committing it. A automatic merge
320 is appropriate when you are on a feature branch and want to catch up
321 with the master, say.
ff21f5a Some content for the manual.
Marius Vollmer authored
322
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
323 After initiating a manual merge, the header of the status buffer will
324 remind you that the next commit will be a merge commit (with more than
325 one parent). If you want to abort a manual merge, just do a hard
c8cdc5e Manual updates.
Marius Vollmer authored
326 reset to HEAD with @kbd{X}.
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
327
328 Merges can fail if the two branches you merge want to introduce
329 conflicting changes. In that case, the automatic merge stops before
330 the commit, essentially falling back to a manual merge. You need to
331 resolve the conflicts and stage the resolved files, for example with
332 @kbd{S}.
333
334 You can not stage individual hunks one by one as you resolve them, you
335 can only stage whole files once all conflicts in them have been
e37626e Manual improvements.
Marius Vollmer authored
336 resolved.
067e715 More manual stuff, use "Magit" and "Git" spelling.
Marius Vollmer authored
337
338 @node Rebasing
339 @chapter Rebasing
11689b7 Manual additions.
Marius Vollmer authored
340
22ee4f7 Rebasing.
Marius Vollmer authored
341 Typing @kbd{R} in the status buffer will initiate a rebase or, if one
342 is already in progress, ask you how to continue.
343
344 When a rebase is stopped in the middle because of a conflict, the
e37626e Manual improvements.
Marius Vollmer authored
345 header of the status buffer will indicate how far along you are in the
346 series of commits that are being replayed.
22ee4f7 Rebasing.
Marius Vollmer authored
347
348 Of course, you can initiate a rebase in any number of ways, by
349 configuring @code{git pull} to rebase instead of merge, for example.
e37626e Manual improvements.
Marius Vollmer authored
350 Such a rebase can be finished with @kbd{R} as well.
14b1153 Manual additions.
Marius Vollmer authored
351
2733ae2 Document rewriting.
Marius Vollmer authored
352 @node Rewriting
353 @chapter Rewriting
354
355 As hinted at earlier, you can rewrite your commit history. For
356 example, you can reset he current head to an earlier commit with
357 @kbd{x}. This leaves the working tree unchanged, and the status
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
358 buffer will show all the changes that have been made since that new
2733ae2 Document rewriting.
Marius Vollmer authored
359 value of the current head. You can commit these changes again,
360 possibly splitting them into multiple commits as you go along.
361
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
362 Amending your last commit is a common special case of rewriting
363 history like this.
2733ae2 Document rewriting.
Marius Vollmer authored
364
365 Another common way to rewrite history is to reset the head to an
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
366 earlier commit, and then to cherry pick the previous commits in a
367 different order. You could pick them from the reflog, for example.
2733ae2 Document rewriting.
Marius Vollmer authored
368
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
369 Magit has several commands that can simplify the book keeping
370 associated with rewriting. These commands all start with the @kbd{r}
371 prefix key.
2733ae2 Document rewriting.
Marius Vollmer authored
372
373 Typing @kbd{r s} will start a rewrite operation. You will be prompted
374 for a @emph{base} commit, and all commits between the current head and
375 this commit are put in a list of @emph{Pending commits} (including the
376 base commit). The current head will then be reset to the parent of
377 the base commit.
378
379 You would then typically use @kbd{a} and @kbd{A} to cherry pick
380 commits from the list of pending commits in the desired order, until
381 all have been applied. Magit shows which commits have been applied by
382 changing their marker from @code{*} to @code{.}.
383
384 Using @kbd{A} will immediately commit the commit (as usual). If you
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
385 want to combine multiple previous commits into a single new one, use
2733ae2 Document rewriting.
Marius Vollmer authored
386 @kbd{a} to apply them all to your working tree, and then commit them
9ce8cb3 Fixed teh typos.
Marius Vollmer authored
387 together.
2733ae2 Document rewriting.
Marius Vollmer authored
388
7419a8b Mention non-support for rewriting merge commits in the manual.
Marius Vollmer authored
389 Magit has no explicit support for rewriting merge commits. It will
390 happily include merge commits in the list of pending commits, but
391 there is no way of replaying them automatically. You have to redo the
392 merge explicitly.
393
2733ae2 Document rewriting.
Marius Vollmer authored
394 You can also use @kbd{v} to revert a commit when you have changed your
395 mind. This will change the @code{.} mark back to @code{*}.
396
397 Once you are done with the rewrite, type @kbd{r t} to remove the book
398 keeping information from the status buffer.
399
400 If you rather wish to start over, type @kbd{r a}. This will abort the
401 rewriting, resetting the current head back to the value it had before
402 the rewrite was started with @kbd{r s}.
403
404 Typing @kbd{r f} will @emph{finish} the rewrite: it will apply all
405 unused commits one after the other, as if you would us @kbd{A} with
406 all of them.
407
408 You can change the @kbd{*} and @kbd{.} marks of a pending commit
409 explicitly with @kbd{r *} and @kbd{r .}.
410
411 In addition to a list of pending commits, the status buffer will show
412 the @emph{Pending changes}. This section shows the diff between the
413 original head and the current head. You can use it to review the
414 changes that you still need to rewrite, and you can apply hunks from
415 it, like from any other diff.
416
ff21f5a Some content for the manual.
Marius Vollmer authored
417 @node Pushing and Pulling
418 @chapter Pushing and Pulling
419
151ae0a Redone key bindings for pulling, leaving 'U' free for unstage-all.
Marius Vollmer authored
420 Magit will run @code{git push} when you type @kbd{P}. You can type
421 @kbd{$} to pop up a buffer with the transcript of running these
422 commands.
423
424 Typing @kbd{f} will run @code{git remote update} and @kbd{F} will run
425 @code{git pull}.
14b1153 Manual additions.
Marius Vollmer authored
426
e37626e Manual improvements.
Marius Vollmer authored
427 That's almost all the support for remote repositories that Magit
428 offers. You should have setup your Git configuration to do the right
429 thing for @code{git push} and @code{git pull}.
430
14b1153 Manual additions.
Marius Vollmer authored
431 If you have configured a default remote repository for the current
432 branch (by setting the Git config option
433 @code{branch.<branch>.remote}), Magit will show that repository in the
434 status buffer header.
435
436 In this case, the status buffer will also have a @emph{Unpushed
7ae8fab Typo in manual.
Marius Vollmer authored
437 commits} section that shows the commits on your current head that are
7a57506 Updated manual.
Marius Vollmer authored
438 not in the branch named @code{<remote>/<branch>}. This section works
151ae0a Redone key bindings for pulling, leaving 'U' free for unstage-all.
Marius Vollmer authored
439 just like the history buffer: you can see details about a commit with
c8cdc5e Manual updates.
Marius Vollmer authored
440 @kbd{RET}, compare two of them with @kbd{.} and @kbd{=}, and you can
441 reset your current head to one of them with @kbd{x}, for example.
14b1153 Manual additions.
Marius Vollmer authored
442
1017a27 Updated manual.
Marius Vollmer authored
443 When the remote branch has changes that are not in the current branch,
444 Magit shows them in a section called @emph{Unpulled changes}. Typing
445 @kbd{F} will merge them into the current branch.
446
ff21f5a Some content for the manual.
Marius Vollmer authored
447 @bye
Something went wrong with that request. Please try again.