git-rm man page on OpenBSD

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



GIT-RM(1)						GIT-RM(1)

NAME
       git-rm - Remove files from the working tree and from the index

SYNOPSIS
       git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet]
       [--] <file>...

DESCRIPTION
       Remove files from the index, or from the working tree  and  the	index.
       git  rm will not remove a file from just your working directory. (There
       is no option to remove a file only from the working tree and  yet  keep
       it  in  the index; use /bin/rm if you want to do that.) The files being
       removed have to be identical to the tip of the branch, and  no  updates
       to  their  contents  can	 be  staged  in the index, though that default
       behavior can be overridden with the -f option. When --cached is	given,
       the  staged  content  has  to match either the tip of the branch or the
       file on disk, allowing the file to be removed from just the index.

OPTIONS
       <file>...
	      Files to remove. Fileglobs (e.g. *.c) can be given to remove all
	      matching	files. If you want git to expand file glob characters,
	      you may need to shell-escape  them.  A  leading  directory  name
	      (e.g.  dir  to  remove  dir/file1 and dir/file2) can be given to
	      remove  all  files  in  the  directory,  and   recursively   all
	      sub-directories,	but  this requires the -r option to be explic-
	      itly given.

       -f, --force
	      Override the up-to-date check.

       -n, --dry-run
	      Don’t actually remove any file(s). Instead, just  show  if
	      they  exist  in  the index and would otherwise be removed by the
	      command.

       -r     Allow recursive removal when a leading directory name is	given.

       --     This  option  can	 be used to separate command-line options from
	      the list of files, (useful when filenames might be mistaken  for
	      command-line options).

       --cached
	      Use this option to unstage and remove paths only from the index.
	      Working tree files, whether modified or not, will be left alone.

								1

GIT-RM(1)						GIT-RM(1)

       --ignore-unmatch
	      Exit with a zero status even if no files matched.

       -q, --quiet
	       git rm normally outputs one line (in the form of an rm command)
	      for each file removed. This option suppresses that output.

DISCUSSION
       The <file> list given to the command can be exact pathnames, file  glob
       patterns,  or  leading  directory  names.  The command removes only the
       paths that are known to git. Giving the name of a file  that  you  have
       not told git about does not remove that file.

       File  globbing  matches	across	directory  boundaries. Thus, given two
       directories d and d2, there is a difference between using git rm {apos-
       trophe}d{asterisk}{apostrophe}	and   git   rm	 {apostrophe}d/{aster-
       isk}{apostrophe}, as the former will also remove all of directory d2.

REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM
       There is no option for git rm to remove from the index only  the	 paths
       that  have  disappeared	from the filesystem. However, depending on the
       use case, there are several ways that can be done.

   Using “git commit -a”
       If you intend that your next commit should record all modifications  of
       tracked files in the working tree and record all removals of files that
       have been removed from the working tree with rm (as opposed to git rm),
       use  git	 commit	 -a,  as  it  will automatically notice and record all
       removals. You can also have a  similar  effect  without	committing  by
       using git add -u.

   Using “git add -A”
       When  accepting	a new code drop for a vendor branch, you probably want
       to record both the removal of paths and additions of new paths as  well
       as modifications of existing paths.

       Typically  you  would  first  remove all tracked files from the working
       tree using this command:

       .ft C
       git ls-files -z | xargs -0 rm -f
       .ft

								2

GIT-RM(1)						GIT-RM(1)

       and then untar the new code in the working tree. Alternately you	 could
       rsync the changes into the working tree.

       After that, the easiest way to record all removals, additions, and mod-
       ifications in the working tree is:

       .ft C
       git add -A
       .ft

       See git-add(1).

   Other ways
       If all you really want to do is to remove from the index the files that
       are no longer present in the working tree (perhaps because your working
       tree is dirty so that you cannot use git commit -a), use the  following
       command:

       .ft C
       git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
       .ft

EXAMPLES
       git rm Documentation/\*.txt
	      Removes  all *.txt files from the index that are under the Docu-
	      mentation directory and any of its subdirectories.

	      Note that the asterisk * is quoted from the shell in this	 exam-
	      ple;  this  lets git, and not the shell, expand the pathnames of
	      files and subdirectories under the Documentation/ directory.

       git rm -f git-*.sh
	      Because this example lets the shell expand  the  asterisk	 (i.e.
	      you  are	listing the files explicitly), it does not remove sub-
	      dir/git-foo.sh.

SEE ALSO
       git-add(1)

								3

GIT-RM(1)						GIT-RM(1)

AUTHOR
       Written by Linus Torvalds <torvalds@osdl.org: mailto:torvalds@osdl.org>

DOCUMENTATION
       Documentation  by Junio C Hamano 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