1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.5.2" />
7 <title>git-status(
1)
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.0em;
131 div
.content
{ /* Block element content. */
135 /* Block element titles. */
136 div
.title
, caption
.title
{
138 font-family: sans-serif
;
142 margin-bottom: 0.5em;
148 td div
.title:first-child
{
151 div
.content div
.title:first-child
{
154 div
.content
+ div
.title
{
158 div
.sidebarblock
> div
.content
{
160 border: 1px solid silver
;
164 div
.listingblock
> div
.content
{
165 border: 1px solid silver
;
170 div
.quoteblock
, div
.verseblock
{
174 border-left: 5px solid
#dddddd;
178 div
.quoteblock
> div
.attribution
{
183 div
.verseblock
> div
.content
{
186 div
.verseblock
> div
.attribution
{
190 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
191 div
.verseblock
+ div
.attribution
{
195 div
.admonitionblock
.icon
{
199 text-decoration: underline
;
201 padding-right: 0.5em;
203 div
.admonitionblock td
.content
{
205 border-left: 3px solid
#dddddd;
208 div
.exampleblock
> div
.content
{
209 border-left: 3px solid
#dddddd;
213 div
.imageblock div
.content
{ padding-left: 0; }
214 span
.image img
{ border-style: none
; }
215 a
.image:visited
{ color: white
; }
219 margin-bottom: 0.8em;
232 list-style-position: outside
;
235 list-style-type: decimal
;
238 list-style-type: lower-alpha
;
241 list-style-type: upper-alpha
;
244 list-style-type: lower-roman
;
247 list-style-type: upper-roman
;
250 div
.compact ul
, div
.compact ol
,
251 div
.compact p
, div
.compact p
,
252 div
.compact div
, div
.compact div
{
254 margin-bottom: 0.1em;
257 div
.tableblock
> table
{
258 border: 3px solid
#527bbd;
260 thead
, p
.table
.header
{
261 font-family: sans-serif
;
273 /* Because the table frame attribute is overriden by CSS in most browsers. */
274 div
.tableblock
> table
[frame
="void"] {
277 div
.tableblock
> table
[frame
="hsides"] {
278 border-left-style: none
;
279 border-right-style: none
;
281 div
.tableblock
> table
[frame
="vsides"] {
282 border-top-style: none
;
283 border-bottom-style: none
;
289 margin-bottom: 0.8em;
292 padding-bottom: 15px;
294 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
300 padding-right: 0.8em;
306 div
.hdlist
.compact tr
{
315 .footnote, .footnoteref {
319 span
.footnote
, span
.footnoteref
{
320 vertical-align: super
;
324 margin: 20px 0 20px 0;
328 #footnotes div
.footnote
{
334 border-top: 1px solid silver
;
344 div#footer-badges
{ display: none
; }
348 margin-bottom: 2.5em;
353 font-family: sans-serif
;
357 margin-bottom: 0.1em;
360 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
376 /* Overrides for manpage documents */
379 padding-bottom: 0.5em;
380 border-top: 2px solid silver
;
381 border-bottom: 2px solid silver
;
391 div#toc
{ display: none
; }
394 /* Workarounds for IE6's broken and incomplete CSS2. */
396 div
.sidebar-content
{
398 border: 1px solid silver
;
401 div
.sidebar-title
, div
.image-title
{
403 font-family: sans-serif
;
406 margin-bottom: 0.5em;
409 div
.listingblock div
.content
{
410 border: 1px solid silver
;
415 div
.quoteblock-attribution
{
420 div
.verseblock-content
{
423 div
.verseblock-attribution
{
428 div
.exampleblock-content
{
429 border-left: 3px solid
#dddddd;
433 /* IE6 sets dynamically generated links as visited. */
434 div#toc
a:visited
{ color: blue
; }
436 <script type=
"text/javascript">
438 window
.onload = function(){asciidoc
.footnotes();}
439 var asciidoc
= { // Namespace.
441 /////////////////////////////////////////////////////////////////////
442 // Table Of Contents generator
443 /////////////////////////////////////////////////////////////////////
445 /* Author: Mihai Bazon, September 2002
446 * http://students.infoiasi.ro/~mishoo
448 * Table Of Content generator
451 * Feel free to use this script under the terms of the GNU General Public
452 * License, as long as you do not remove or alter this notice.
455 /* modified by Troy D. Hanson, September 2006. License: GPL */
456 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
459 toc: function (toclevels
) {
461 function getText(el
) {
463 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
464 if (i
.nodeType
== 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
466 else if (i
.firstChild
!= null)
472 function TocEntry(el
, text
, toclevel
) {
475 this.toclevel
= toclevel
;
478 function tocEntries(el
, toclevels
) {
479 var result
= new Array
;
480 var re
= new RegExp('[hH]([2-'+(toclevels
+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all
484 var iterate = function (el
) {
485 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
486 if (i
.nodeType
== 1 /* Node.ELEMENT_NODE */) {
487 var mo
= re
.exec(i
.tagName
);
488 if (mo
&& (i
.getAttribute("class") || i
.getAttribute("className")) != "float") {
489 result
[result
.length
] = new TocEntry(i
, getText(i
), mo
[1]-1);
499 var toc
= document
.getElementById("toc");
500 var entries
= tocEntries(document
.getElementById("content"), toclevels
);
501 for (var i
= 0; i
< entries
.length
; ++i
) {
502 var entry
= entries
[i
];
503 if (entry
.element
.id
== "")
504 entry
.element
.id
= "_toc_" + i
;
505 var a
= document
.createElement("a");
506 a
.href
= "#" + entry
.element
.id
;
507 a
.appendChild(document
.createTextNode(entry
.text
));
508 var div
= document
.createElement("div");
510 div
.className
= "toclevel" + entry
.toclevel
;
511 toc
.appendChild(div
);
513 if (entries
.length
== 0)
514 toc
.parentNode
.removeChild(toc
);
518 /////////////////////////////////////////////////////////////////////
519 // Footnotes generator
520 /////////////////////////////////////////////////////////////////////
522 /* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
526 footnotes: function () {
527 var cont
= document
.getElementById("content");
528 var noteholder
= document
.getElementById("footnotes");
529 var spans
= cont
.getElementsByTagName("span");
532 for (i
=0; i
<spans
.length
; i
++) {
533 if (spans
[i
].className
== "footnote") {
535 // Use [\s\S] in place of . so multi-line matches work.
536 // Because JavaScript has no s (dotall) regex flag.
537 note
= spans
[i
].innerHTML
.match(/\s*\[([\s\S]*)]\s*/)[1];
538 noteholder
.innerHTML
+=
539 "<div class='footnote' id='_footnote_" + n
+ "'>" +
540 "<a href='#_footnoteref_" + n
+ "' title='Return to text'>" +
541 n
+ "</a>. " + note
+ "</div>";
543 "[<a id='_footnoteref_" + n
+ "' href='#_footnote_" + n
+
544 "' title='View footnote' class='footnote'>" + n
+ "</a>]";
545 var id
=spans
[i
].getAttribute("id");
546 if (id
!= null) refs
["#"+id
] = n
;
550 noteholder
.parentNode
.removeChild(noteholder
);
552 // Process footnoterefs.
553 for (i
=0; i
<spans
.length
; i
++) {
554 if (spans
[i
].className
== "footnoteref") {
555 var href
= spans
[i
].getElementsByTagName("a")[0].getAttribute("href");
556 href
= href
.match(/#.*/)[0]; // Because IE return full URL.
559 "[<a href='#_footnote_" + n
+
560 "' title='View footnote' class='footnote'>" + n
+ "</a>]";
573 git-status(
1) Manual Page
576 <div class=
"sectionbody">
578 Show the working tree status
583 <h2 id=
"_synopsis">SYNOPSIS
</h2>
584 <div class=
"sectionbody">
585 <div class=
"verseblock">
586 <div class=
"verseblock-content"><em>git status
</em> [
<options
>…] [--] [
<pathspec
>…]
</div>
587 <div class=
"verseblock-attribution">
590 <h2 id=
"_description">DESCRIPTION
</h2>
591 <div class=
"sectionbody">
592 <div class=
"paragraph"><p>Displays paths that have differences between the index file and the
593 current HEAD commit, paths that have differences between the working
594 tree and the index file, and paths in the working tree that are not
595 tracked by git (and are not ignored by
<a href=
"gitignore.html">gitignore(
5)
</a>). The first
596 are what you
<em>would
</em> commit by running
<tt>git commit
</tt>; the second and
597 third are what you
<em>could
</em> commit by running
<em>git add
</em> before running
598 <tt>git commit
</tt>.
</p></div>
600 <h2 id=
"_options">OPTIONS
</h2>
601 <div class=
"sectionbody">
602 <div class=
"dlist"><dl>
611 Give the output in the short-format.
622 Show the branch and tracking info even in short-format.
630 Give the output in an easy-to-parse format for scripts.
631 This is similar to the short output, but will remain stable
632 across git versions and regardless of user configuration. See
640 --untracked-files[=
<mode
>]
644 Show untracked files.
646 <div class=
"paragraph"><p>The mode parameter is optional (defaults to
<em>all
</em>), and is used to
647 specify the handling of untracked files; when -u is not used, the
648 default is
<em>normal
</em>, i.e. show untracked files and directories.
</p></div>
649 <div class=
"paragraph"><p>The possible options are:
</p></div>
650 <div class=
"ulist"><ul>
653 <em>no
</em> - Show no untracked files
658 <em>normal
</em> - Shows untracked files and directories
663 <em>all
</em> - Also shows individual files in untracked directories.
665 <div class=
"paragraph"><p>The default can be changed using the status.showUntrackedFiles
666 configuration variable documented in
<a href=
"git-config.html">git-config(
1)
</a>.
</p></div>
671 --ignore-submodules[=
<when
>]
675 Ignore changes to submodules when looking for changes.
<when
> can be
676 either
"none",
"untracked",
"dirty" or
"all", which is the default.
677 Using
"none" will consider the submodule modified when it either contains
678 untracked or modified files or its HEAD differs from the commit recorded
679 in the superproject and can be used to override any settings of the
680 <em>ignore
</em> option in
<a href=
"git-config.html">git-config(
1)
</a> or
<a href=
"gitmodules.html">gitmodules(
5)
</a>. When
681 "untracked" is used submodules are not considered dirty when they only
682 contain untracked content (but they are still scanned for modified
683 content). Using
"dirty" ignores all changes to the work tree of submodules,
684 only changes to the commits stored in the superproject are shown (this was
685 the behavior before
1.7.0). Using
"all" hides all changes to submodules
686 (and suppresses the output of submodule summaries when the config option
687 <tt>status.submodulesummary
</tt> is set).
695 Show ignored files as well.
703 Terminate entries with NUL, instead of LF. This implies
704 the
<tt>--porcelain
</tt> output format if no other format is given.
709 <h2 id=
"_output">OUTPUT
</h2>
710 <div class=
"sectionbody">
711 <div class=
"paragraph"><p>The output from this command is designed to be used as a commit
712 template comment, and all the output lines are prefixed with
<em>#
</em>.
713 The default, long format, is designed to be human readable,
714 verbose and descriptive. Its contents and format are subject to change
715 at any time.
</p></div>
716 <div class=
"paragraph"><p>The paths mentioned in the output, unlike many other git commands, are
717 made relative to the current directory if you are working in a
718 subdirectory (this is on purpose, to help cutting and pasting). See
719 the status.relativePaths config option below.
</p></div>
720 <h3 id=
"_short_format">Short Format
</h3><div style=
"clear:left"></div>
721 <div class=
"paragraph"><p>In the short-format, the status of each path is shown as
</p></div>
722 <div class=
"literalblock">
723 <div class=
"content">
724 <pre><tt>XY PATH1 -
> PATH2
</tt></pre>
726 <div class=
"paragraph"><p>where
<tt>PATH1
</tt> is the path in the
<tt>HEAD
</tt>, and the ` -
> PATH2` part is
727 shown only when
<tt>PATH1
</tt> corresponds to a different path in the
728 index/worktree (i.e. the file is renamed). The
<em>XY
</em> is a two-letter
729 status code.
</p></div>
730 <div class=
"paragraph"><p>The fields (including the
<tt>-
></tt>) are separated from each other by a
731 single space. If a filename contains whitespace or other nonprintable
732 characters, that field will be quoted in the manner of a C string
733 literal: surrounded by ASCII double quote (
34) characters, and with
734 interior special characters backslash-escaped.
</p></div>
735 <div class=
"paragraph"><p>For paths with merge conflicts,
<tt>X
</tt> and
<em>Y
</em> show the modification
736 states of each side of the merge. For paths that do not have merge
737 conflicts,
<tt>X
</tt> shows the status of the index, and
<tt>Y
</tt> shows the status
738 of the work tree. For untracked paths,
<tt>XY
</tt> are
<tt>??
</tt>. Other status
739 codes can be interpreted as follows:
</p></div>
740 <div class=
"ulist"><ul>
748 <em>M
</em> = modified
773 <em>U
</em> = updated but unmerged
777 <div class=
"paragraph"><p>Ignored files are not listed, unless
<tt>--ignored
</tt> option is in effect,
778 in which case
<tt>XY
</tt> are
<tt>!!
</tt>.
</p></div>
779 <div class=
"literalblock">
780 <div class=
"content">
782 -------------------------------------------------
784 M [ MD] updated in index
785 A [ MD] added to index
786 D [ M] deleted from index
787 R [ MD] renamed in index
788 C [ MD] copied in index
789 [MARC] index and work tree matches
790 [ MARC] M work tree changed since index
791 [ MARC] D deleted in work tree
792 -------------------------------------------------
793 D D unmerged, both deleted
794 A U unmerged, added by us
795 U D unmerged, deleted by them
796 U A unmerged, added by them
797 D U unmerged, deleted by us
798 A A unmerged, both added
799 U U unmerged, both modified
800 -------------------------------------------------
803 -------------------------------------------------
</tt></pre>
805 <div class=
"paragraph"><p>If -b is used the short-format status is preceded by a line
</p></div>
806 <div class=
"paragraph"><p>## branchname tracking info
</p></div>
807 <h3 id=
"_porcelain_format">Porcelain Format
</h3><div style=
"clear:left"></div>
808 <div class=
"paragraph"><p>The porcelain format is similar to the short format, but is guaranteed
809 not to change in a backwards-incompatible way between git versions or
810 based on user configuration. This makes it ideal for parsing by scripts.
811 The description of the short format above also describes the porcelain
812 format, with a few exceptions:
</p></div>
813 <div class=
"olist arabic"><ol class=
"arabic">
816 The user
’s color.status configuration is not respected; color will
822 The user
’s status.relativePaths configuration is not respected; paths
823 shown will always be relative to the repository root.
827 <div class=
"paragraph"><p>There is also an alternate -z format recommended for machine parsing. In
828 that format, the status field is the same, but some other things
829 change. First, the
<em>-
></em> is omitted from rename entries and the field
830 order is reversed (e.g
<em>from -
> to
</em> becomes
<em>to from
</em>). Second, a NUL
831 (ASCII
0) follows each filename, replacing space as a field separator
832 and the terminating newline (but a space still separates the status
833 field from the first filename). Third, filenames containing special
834 characters are not specially formatted; no quoting or
835 backslash-escaping is performed. Fourth, there is no branch line.
</p></div>
837 <h2 id=
"_configuration">CONFIGURATION
</h2>
838 <div class=
"sectionbody">
839 <div class=
"paragraph"><p>The command honors
<tt>color.status
</tt> (or
<tt>status.color
</tt> — they
840 mean the same thing and the latter is kept for backward
841 compatibility) and
<tt>color.status.
<slot
></tt> configuration variables
842 to colorize its output.
</p></div>
843 <div class=
"paragraph"><p>If the config variable
<tt>status.relativePaths
</tt> is set to false, then all
844 paths shown are relative to the repository root, not to the current
846 <div class=
"paragraph"><p>If
<tt>status.submodulesummary
</tt> is set to a non zero number or true (identical
847 to -
1 or an unlimited number), the submodule summary will be enabled for
848 the long format and a summary of commits for modified submodules will be
849 shown (see --summary-limit option of
<a href=
"git-submodule.html">git-submodule(
1)
</a>).
</p></div>
851 <h2 id=
"_see_also">SEE ALSO
</h2>
852 <div class=
"sectionbody">
853 <div class=
"paragraph"><p><a href=
"gitignore.html">gitignore(
5)
</a></p></div>
855 <h2 id=
"_git">GIT
</h2>
856 <div class=
"sectionbody">
857 <div class=
"paragraph"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
860 <div id=
"footnotes"><hr /></div>
862 <div id=
"footer-text">
863 Last updated
2011-
09-
21 23:
01:
14 PDT