mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-08 11:33:47 -05:00
Compare commits
134 Commits
v2.0
...
blame_mess
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62c50ff296 | ||
|
|
c2877d0d5c | ||
|
|
c640ee78a8 | ||
|
|
c9b26e20d3 | ||
|
|
79f4a49a94 | ||
|
|
0cb46585ac | ||
|
|
d4df8882c5 | ||
|
|
d5208d494f | ||
|
|
cf248fa66d | ||
|
|
779949c255 | ||
|
|
785bb15745 | ||
|
|
fbf89773b4 | ||
|
|
02a0be79aa | ||
|
|
b2767d204b | ||
|
|
26504eecbd | ||
|
|
0d281a2607 | ||
|
|
b2665cc650 | ||
|
|
c3052fba84 | ||
|
|
4f24757df2 | ||
|
|
eb945e9a11 | ||
|
|
90cbbf5854 | ||
|
|
87c1bda4d5 | ||
|
|
c5c1bd66d8 | ||
|
|
f44845e440 | ||
|
|
245ce889e2 | ||
|
|
444ba9fda5 | ||
|
|
b754bc2031 | ||
|
|
b3a8be6975 | ||
|
|
58ed86e434 | ||
|
|
aac85a268e | ||
|
|
c00ebd75ac | ||
|
|
50cc268d29 | ||
|
|
4865891565 | ||
|
|
3439f999b1 | ||
|
|
6460734b5e | ||
|
|
bdd216827a | ||
|
|
0ac4915cd7 | ||
|
|
841adb49ad | ||
|
|
57afba5bdd | ||
|
|
e1ae9effbc | ||
|
|
19d1c944db | ||
|
|
9315ec694d | ||
|
|
90250785d1 | ||
|
|
099d65826e | ||
|
|
008b957086 | ||
|
|
16c2b7abb9 | ||
|
|
1e3f1103d9 | ||
|
|
9835920a3c | ||
|
|
fd36aa9c61 | ||
|
|
4dd41688cf | ||
|
|
18d6d1ab82 | ||
|
|
9ce67cdc93 | ||
|
|
bf04261080 | ||
|
|
52d180af0a | ||
|
|
14daf094d9 | ||
|
|
ac904e806d | ||
|
|
9f768cd3bc | ||
|
|
09cdce7add | ||
|
|
8851b8fe64 | ||
|
|
cfa485ede7 | ||
|
|
207c643ea4 | ||
|
|
cac2c8ef8e | ||
|
|
a9a22e0e4e | ||
|
|
c3e918072f | ||
|
|
d854197c03 | ||
|
|
d8ce8d1d03 | ||
|
|
23faeadc7c | ||
|
|
1ecd12d523 | ||
|
|
f8aa87a4b5 | ||
|
|
dba8a0705d | ||
|
|
8cf3d94a3a | ||
|
|
28de2a1ddd | ||
|
|
01cda4d443 | ||
|
|
b5188a1b4f | ||
|
|
8e63140181 | ||
|
|
cec56ef5ff | ||
|
|
1e755064e9 | ||
|
|
0b43b51d77 | ||
|
|
5dcf8a0175 | ||
|
|
2509641eac | ||
|
|
073f3a37b9 | ||
|
|
b7b23001de | ||
|
|
b319b69453 | ||
|
|
03cc95cc19 | ||
|
|
7c4a906147 | ||
|
|
b5b2548a87 | ||
|
|
ca727b07f1 | ||
|
|
0fbbe0b3a4 | ||
|
|
1c844375fa | ||
|
|
e065e4f841 | ||
|
|
21b6dd7aee | ||
|
|
935a2cccd3 | ||
|
|
c2908b174d | ||
|
|
b0e38f08dc | ||
|
|
4cc201cbe3 | ||
|
|
baa05dcfda | ||
|
|
0095769029 | ||
|
|
e8b94098bb | ||
|
|
eb8eb1850a | ||
|
|
933f6a1e1d | ||
|
|
34719016ec | ||
|
|
2c8461db08 | ||
|
|
d3b98d9886 | ||
|
|
5699f4613c | ||
|
|
0374322ba5 | ||
|
|
90ee6fb5d2 | ||
|
|
04fe4bfcd9 | ||
|
|
7423d72b51 | ||
|
|
24d4098ceb | ||
|
|
5aaa65736d | ||
|
|
5d1c219ee5 | ||
|
|
a739112bfc | ||
|
|
d376506177 | ||
|
|
9af975c82c | ||
|
|
11f89ba749 | ||
|
|
45e5317200 | ||
|
|
ee2b0ecdb8 | ||
|
|
94a5d6fe2f | ||
|
|
0cd33c6170 | ||
|
|
6239f5ed8e | ||
|
|
188692556a | ||
|
|
716f3d2d4e | ||
|
|
8576741d61 | ||
|
|
32957cb552 | ||
|
|
fdc8569c18 | ||
|
|
7fb703534a | ||
|
|
41cdbdcd62 | ||
|
|
91900baad1 | ||
|
|
fb5661211d | ||
|
|
276f89837f | ||
|
|
4581cd4217 | ||
|
|
df103dc595 | ||
|
|
989fb15b8c | ||
|
|
123d2e096d |
@@ -11,8 +11,8 @@ Vim's diff handling capabilities to stage a subset of the file's
|
|||||||
changes.
|
changes.
|
||||||
|
|
||||||
Bring up the output of `git status` with `:Gstatus`. Press `-` to
|
Bring up the output of `git status` with `:Gstatus`. Press `-` to
|
||||||
`add`/`reset` a file's changes, or `p` to `add`/`reset` `--patch` that
|
`add`/`reset` a file's changes, or `p` to `add`/`reset` `--patch`. And guess
|
||||||
mofo. And guess what `:Gcommit` does!
|
what `:Gcommit` does!
|
||||||
|
|
||||||
`:Gblame` brings up an interactive vertical split with `git blame`
|
`:Gblame` brings up an interactive vertical split with `git blame`
|
||||||
output. Press enter on a line to edit the commit where the line
|
output. Press enter on a line to edit the commit where the line
|
||||||
@@ -35,9 +35,15 @@ and you never get any warnings about the file changing outside Vim.
|
|||||||
making it like `git add` when called from a work tree file and like
|
making it like `git add` when called from a work tree file and like
|
||||||
`git checkout` when called from the index or a blob in history.
|
`git checkout` when called from the index or a blob in history.
|
||||||
|
|
||||||
Use `:Gbrowse` to open the current file on GitHub, with optional line
|
Use `:Gbrowse` to open the current file on the web front-end of your favorite
|
||||||
range (try it in visual mode!). If your current repository isn't on
|
hosting provider, with optional line range (try it in visual mode!). Built-in
|
||||||
GitHub, `git instaweb` will be spun up instead.
|
support is provided for `git instaweb`, and plugins are available for popular
|
||||||
|
providers such as [GitHub][rhubarb.vim], [GitLab][fugitive-gitlab.vim], and
|
||||||
|
[Bitbucket][fubitive.vim].
|
||||||
|
|
||||||
|
[rhubarb.vim]: https://github.com/tpope/vim-rhubarb
|
||||||
|
[fugitive-gitlab.vim]: https://github.com/shumphrey/fugitive-gitlab.vim
|
||||||
|
[fubitive.vim]: https://github.com/tommcdo/vim-fubitive
|
||||||
|
|
||||||
Add `%{fugitive#statusline()}` to `'statusline'` to get an indicator
|
Add `%{fugitive#statusline()}` to `'statusline'` to get an indicator
|
||||||
with the current branch in (surprise!) your statusline.
|
with the current branch in (surprise!) your statusline.
|
||||||
@@ -55,15 +61,13 @@ and `Git!` to open the output of a command in a temp file.
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
If you don't have a preferred installation method, I recommend
|
If you don't have a preferred installation method, one option is to install
|
||||||
installing [pathogen.vim](https://github.com/tpope/vim-pathogen), and
|
[pathogen.vim](https://github.com/tpope/vim-pathogen), and then copy
|
||||||
then simply copy and paste:
|
and paste:
|
||||||
|
|
||||||
cd ~/.vim/bundle
|
cd ~/.vim/bundle
|
||||||
git clone git://github.com/tpope/vim-fugitive.git
|
git clone git://github.com/tpope/vim-fugitive.git
|
||||||
|
vim -u NONE -c "helptags vim-fugitive/doc" -c q
|
||||||
Once help tags have been generated, you can view the manual with
|
|
||||||
`:help fugitive`.
|
|
||||||
|
|
||||||
If your Vim version is below 7.2, I recommend also installing
|
If your Vim version is below 7.2, I recommend also installing
|
||||||
[vim-git](https://github.com/tpope/vim-git) for syntax highlighting and
|
[vim-git](https://github.com/tpope/vim-git) for syntax highlighting and
|
||||||
|
|||||||
@@ -57,24 +57,48 @@ that are part of Git repositories).
|
|||||||
q close status
|
q close status
|
||||||
r reload status
|
r reload status
|
||||||
S |:Gvsplit|
|
S |:Gvsplit|
|
||||||
|
U |:Git| checkout
|
||||||
|
U |:Git| checkout HEAD (staged files)
|
||||||
|
U |:Git| clean (untracked files)
|
||||||
|
U |:Git| rm (unmerged files)
|
||||||
|
|
||||||
*fugitive-:Gcommit*
|
*fugitive-:Gcommit*
|
||||||
:Gcommit [args] A wrapper around git-commit. If there is nothing
|
:Gcommit [args] A wrapper around git-commit. If there is nothing
|
||||||
to commit, |:Gstatus| is called instead. Unless the
|
to commit, |:Gstatus| is called instead. Unless the
|
||||||
arguments given would skip the invocation of an editor
|
arguments given would skip the invocation of an editor
|
||||||
(e.g., -m), a split window will be used to obtain a
|
(e.g., -m), a split window will be used to obtain a
|
||||||
commit message. Write and close that window (:wq or
|
commit message, or a new tab if -v is given. Write
|
||||||
|:Gwrite|) to finish the commit. Unlike when running
|
and close that window (:wq or |:Gwrite|) to finish the
|
||||||
the actual git-commit command, it is possible (but
|
commit. Unlike when running the actual git-commit
|
||||||
unadvisable) to muck with the index with commands like
|
command, it is possible (but unadvisable) to alter the
|
||||||
git-add and git-reset while a commit message is
|
index with commands like git-add and git-reset while a
|
||||||
pending.
|
commit message is pending.
|
||||||
|
|
||||||
|
*fugitive-:Gmerge*
|
||||||
|
:Gmerge [args] Calls git-merge and loads errors and conflicted files
|
||||||
|
into the quickfix list. Opens a |:Gcommit| style
|
||||||
|
split window for the commit message if the merge
|
||||||
|
succeeds. If called during a merge conflict, the
|
||||||
|
conflicted files from the current index are loaded
|
||||||
|
into the quickfix list.
|
||||||
|
|
||||||
|
*fugitive-:Gpull*
|
||||||
|
:Gpull [args] Like |:Gmerge|, but for git-pull.
|
||||||
|
|
||||||
|
*fugitive-:Gpush*
|
||||||
|
:Gpush [args] Invoke git-push, load the results into the quickfix
|
||||||
|
list, and invoke |:cwindow| to reveal any errors.
|
||||||
|
|:Dispatch| is used if available for asynchronous
|
||||||
|
invocation.
|
||||||
|
|
||||||
|
*fugitive-:Gfetch*
|
||||||
|
:Gfetch [args] Like |:Gpush|, but for git-fetch.
|
||||||
|
|
||||||
*fugitive-:Ggrep*
|
*fugitive-:Ggrep*
|
||||||
:Ggrep [args] |:grep| with git-grep as 'grepprg'.
|
:Ggrep[!] [args] |:grep|[!] with git-grep as 'grepprg'.
|
||||||
|
|
||||||
*fugitive-:Glgrep*
|
*fugitive-:Glgrep*
|
||||||
:Glgrep [args] |:lgrep| with git-grep as 'grepprg'.
|
:Glgrep[!] [args] |:lgrep|[!] with git-grep as 'grepprg'.
|
||||||
|
|
||||||
*fugitive-:Glog*
|
*fugitive-:Glog*
|
||||||
:Glog [args] Load all previous revisions of the current file into
|
:Glog [args] Load all previous revisions of the current file into
|
||||||
@@ -84,6 +108,11 @@ that are part of Git repositories).
|
|||||||
previous commits rather than previous file revisions
|
previous commits rather than previous file revisions
|
||||||
are loaded.
|
are loaded.
|
||||||
|
|
||||||
|
:{range}Glog [args] Use git-log -L to load previous revisions of the given
|
||||||
|
range of the current file into the quickfix list. The
|
||||||
|
cursor is positioned on the first line of the first
|
||||||
|
diff hunk for each commit.
|
||||||
|
|
||||||
*fugitive-:Gllog*
|
*fugitive-:Gllog*
|
||||||
:Gllog [args] Like |:Glog|, but use the location list instead of the
|
:Gllog [args] Like |:Glog|, but use the location list instead of the
|
||||||
quickfix list.
|
quickfix list.
|
||||||
@@ -152,7 +181,9 @@ that are part of Git repositories).
|
|||||||
to the right or bottom, depending on 'diffopt' and
|
to the right or bottom, depending on 'diffopt' and
|
||||||
the width of the window relative to 'textwidth'. Use
|
the width of the window relative to 'textwidth'. Use
|
||||||
|do| and |dp| and write to the index file to simulate
|
|do| and |dp| and write to the index file to simulate
|
||||||
"git add --patch".
|
"git add --patch". For the three-way diff, there is
|
||||||
|
also d2o and d3o pulling the hunk to the middle from
|
||||||
|
the left or the right window, respectively.
|
||||||
|
|
||||||
*fugitive-:Gsdiff*
|
*fugitive-:Gsdiff*
|
||||||
:Gsdiff [revision] Like |:Gdiff|, but always split horizontally.
|
:Gsdiff [revision] Like |:Gdiff|, but always split horizontally.
|
||||||
@@ -195,32 +226,38 @@ that are part of Git repositories).
|
|||||||
:[range]Gblame [flags] Run git-blame on the given range.
|
:[range]Gblame [flags] Run git-blame on the given range.
|
||||||
|
|
||||||
*fugitive-:Gbrowse*
|
*fugitive-:Gbrowse*
|
||||||
:[range]Gbrowse If the remote for the current branch is on GitHub,
|
:Gbrowse Open the current file, blob, tree, commit, or tag
|
||||||
open the current file, blob, tree, commit, or tag
|
in your browser at the upstream hosting provider.
|
||||||
(with git-web--browse) on GitHub. Otherwise, open the
|
If a range is given, it is appropriately appended to
|
||||||
current file, blob, tree, commit, or tag in
|
the URL as an anchor.
|
||||||
git-instaweb (if you have issues, verify you can run
|
|
||||||
"git instaweb" from a terminal). If a range is given,
|
|
||||||
it is appropriately appended to the URL as an anchor.
|
|
||||||
|
|
||||||
To use with GitHub FI, point g:fugitive_github_domains
|
Upstream providers can be added by installing an
|
||||||
at a list of domains:
|
appropriate Vim plugin. For example, GitHub can be
|
||||||
>
|
supported by installing rhubarb.vim, available at
|
||||||
let g:fugitive_github_domains = ['https://example.com']
|
<https://github.com/tpope/vim-rhubarb>.
|
||||||
~
|
|
||||||
:[range]Gbrowse! Like :Gbrowse, but put the URL on the clipboard rather
|
|
||||||
than opening it.
|
|
||||||
|
|
||||||
:[range]Gbrowse {revision}
|
The hosting provider is determined by looking at the
|
||||||
Like :Gbrowse, but for a given |fugitive-revision|. A
|
remote for the current or specified branch and falls
|
||||||
|
back to "origin". In the special case of a "."
|
||||||
|
remote, a local instance of git-instaweb will be
|
||||||
|
started and used.
|
||||||
|
|
||||||
|
:Gbrowse {revision} Like :Gbrowse, but for a given |fugitive-revision|. A
|
||||||
useful value here is -, which ties the URL to the
|
useful value here is -, which ties the URL to the
|
||||||
latest commit rather than a volatile branch.
|
latest commit rather than a volatile branch.
|
||||||
|
|
||||||
:[range]Gbrowse [...]@{remote}
|
:Gbrowse [...]@{remote} Force using the given remote rather than the remote
|
||||||
Force using the given remote rather than the remote
|
|
||||||
for the current branch. The remote is used to
|
for the current branch. The remote is used to
|
||||||
determine which GitHub repository to link to.
|
determine which GitHub repository to link to.
|
||||||
|
|
||||||
|
:{range}Gbrowse [args] Appends an anchor to the URL that emphasizes the
|
||||||
|
selected lines. You almost certainly want to give a
|
||||||
|
"-" argument in this case to force the URL to include
|
||||||
|
an exact revision.
|
||||||
|
|
||||||
|
:[range]Gbrowse! [args] Like :Gbrowse, but put the URL on the clipboard rather
|
||||||
|
than opening it.
|
||||||
|
|
||||||
MAPPINGS *fugitive-mappings*
|
MAPPINGS *fugitive-mappings*
|
||||||
|
|
||||||
These maps are available everywhere.
|
These maps are available everywhere.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user