gitcli man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]



GITCLI(7)						GITCLI(7)

NAME
       gitcli - git command line interface and conventions

SYNOPSIS
       gitcli

DESCRIPTION
       This manual describes the convention used throughout git CLI.

       Many  commands  take  revisions	(most  often  "commits", but sometimes
       "tree-ish", depending on the context and command) and  paths  as	 their
       arguments. Here are the rules:

       o  Revisions  come  first  and  then  paths. E.g. in git diff v1.0 v2.0
	  arch/x86 include/asm-x86, v1.0 and v2.0 are revisions	 and  arch/x86
	  and include/asm-x86 are paths.

       o  When	an  argument  can  be  misunderstood as either a revision or a
	  path, they can be disambiguated by placing \--  between  them.  E.g.
	  git  diff  \--  HEAD is, "I have a file called HEAD in my work tree.
	  Please show changes between the version I staged in  the  index  and
	  what	I  have	 in the work tree for that file". not "show difference
	  between the HEAD commit and the work tree as a whole". You  can  say
	  git diff HEAD \-- to ask for the latter.

       o  Without disambiguating \--, git makes a reasonable guess, but errors
	  out and asking you to disambiguate when ambiguous. E.g. if you  have
	  a  file  called  HEAD in your work tree, git diff HEAD is ambiguous,
	  and you have to say either git diff HEAD \-- or git diff \-- HEAD to
	  disambiguate.

       When  writing a script that is expected to handle random user-input, it
       is a good practice to make it explicit which  arguments	are  which  by
       placing disambiguating \-- at appropriate places.

       Here  are  the  rules regarding the "flags" that you should follow when
       you are scripting git:

       o  it’s preferred to use the non dashed  form  of	git  commands,
	  which means that you should prefer git foo to git-foo.

       o  splitting  short  options to separate words (prefer git foo -a -b to
	  git foo -ab, the latter may not even work).

       o  when a command line option takes an argument, use the sticked	 form.
	  In  other  words,  write git foo -oArg instead of git foo -o Arg for
	  short options,  and  git  foo	 --long-opt=Arg	 instead  of  git  foo

								1

GITCLI(7)						GITCLI(7)

	  --long-opt  Arg  for	long  options.	An  option that takes optional
	  option-argument must be written in the sticked form.

       o  when you give a revision parameter  to  a  command,  make  sure  the
	  parameter  is	 not ambiguous with a name of a file in the work tree.
	  E.g. do not write git log -1 HEAD but write git log -1 HEAD --;  the
	  former will not work if you happen to have a file called HEAD in the
	  work tree.

ENHANCED OPTION PARSER
       From the git 1.5.4 series and further, many git commands	 (not  all  of
       them  at	 the  time of the writing though) come with an enhanced option
       parser.

       Here is an exhaustive list of the facilities provided  by  this	option
       parser.

   Magic Options
       Commands which have the enhanced option parser activated all understand
       a couple of magic command line options:

       -h     gives a pretty printed usage of the command.

	      .ft C
	      $ git describe -h
	      usage: git describe [options] <committish>*

		  --contains		find the tag that comes after the commit
		  --debug		debug search strategy on stderr
		  --all			use any ref in .git/refs
		  --tags		use any tag in .git/refs/tags
		  --abbrev [<n>]	use <n> digits to display SHA-1s
		  --candidates <n>	consider <n> most recent tags (default: 10)
	      .ft

       --help-all
	      Some git commands take options that are only used	 for  plumbing
	      or  that	are  deprecated,  and such options are hidden from the
	      default usage. This option gives the full list of options.

   Negating options
       Options with long option names can be negated by prefixing  --no-.  For
       example,	 git branch has the option --track which is on by default. You

								2

GITCLI(7)						GITCLI(7)

       can use --no-track to  override	that  behaviour.  The  same  goes  for
       --color and --no-color.

   Aggregating short options
       Commands that support the enhanced option parser allow you to aggregate
       short options. This means that you can for example use git  rm  -rf  or
       git clean -fdx.

   Separating argument from the option
       You can write the mandatory option parameter to an option as a separate
       word on the command line. That means that all the following uses work:

       .ft C
       $ git foo --long-opt=Arg
       $ git foo --long-opt Arg
       $ git foo -oArg
       $ git foo -o Arg
       .ft

       However, this is NOT allowed for switches with an optional value, where
       the sticked form must be used:

       .ft C
       $ git describe --abbrev HEAD	# correct
       $ git describe --abbrev=10 HEAD	# correct
       $ git describe --abbrev 10 HEAD	# NOT WHAT YOU MEANT
       .ft

NOTES ON FREQUENTLY CONFUSED OPTIONS
       Many  commands that can work on files in the working tree and/or in the
       index can take --cached and/or --index options. Sometimes people incor-
       rectly think that, because the index was originally called cache, these
       two are synonyms. They are not -- these  two	 options  mean
       very different things.

       o  The  --cached	 option is used to ask a command that usually works on
	  files in the working tree to only work with the index. For  example,
	  git grep, when used without a commit to specify from which commit to
	  look for strings in, usually works on files in the working tree, but
	  with the --cached option, it looks for strings in the index.

								3

GITCLI(7)						GITCLI(7)

       o  The  --index	option	is used to ask a command that usually works on
	  files in the working tree to also affect the index. For example, git
	  stash	 apply usually merges changes recorded in a stash to the work-
	  ing tree, but with the --index option, it also merges changes to the
	  index as well.

       git apply command can be used with --cached and --index (but not at the
       same time). Usually the command only affects the files in  the  working
       tree,  but  with	 --index,  it  patches	both the files and their index
       entries, and with --cached, it modifies only the index entries.

       See	     also	    http://marc.info/?l=git&m=116563135620359:
       http://marc.info/?l=git&m=116563135620359			   and
       http://marc.info/?l=git&m=119150393620273:
       http://marc.info/?l=git&m=119150393620273 for further information.

DOCUMENTATION
       Documentation by Pierre Habouzit and the git-list <git@vger.kernel.org:
       mailto:git@vger.kernel.org>.

GIT
       Part of the git(1) suite

								4

[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net