Documentation / urls-remotes.txton commit Documentation: explain push.default option a bit more (185c087)
   1include::urls.txt[]
   2
   3REMOTES[[REMOTES]]
   4------------------
   5
   6The name of one of the following can be used instead
   7of a URL as `<repository>` argument:
   8
   9* a remote in the git configuration file: `$GIT_DIR/config`,
  10* a file in the `$GIT_DIR/remotes` directory, or
  11* a file in the `$GIT_DIR/branches` directory.
  12
  13All of these also allow you to omit the refspec from the command line
  14because they each contain a refspec which git will use by default.
  15
  16Named remote in configuration file
  17~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18
  19You can choose to provide the name of a remote which you had previously
  20configured using linkgit:git-remote[1], linkgit:git-config[1]
  21or even by a manual edit to the `$GIT_DIR/config` file.  The URL of
  22this remote will be used to access the repository.  The refspec
  23of this remote will be used by default when you do
  24not provide a refspec on the command line.  The entry in the
  25config file would appear like this:
  26
  27------------
  28        [remote "<name>"]
  29                url = <url>
  30                pushurl = <pushurl>
  31                push = <refspec>
  32                fetch = <refspec>
  33------------
  34
  35The `<pushurl>` is used for pushes only. It is optional and defaults
  36to `<url>`.
  37
  38Named file in `$GIT_DIR/remotes`
  39~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  40
  41You can choose to provide the name of a
  42file in `$GIT_DIR/remotes`.  The URL
  43in this file will be used to access the repository.  The refspec
  44in this file will be used as default when you do not
  45provide a refspec on the command line.  This file should have the
  46following format:
  47
  48------------
  49        URL: one of the above URL format
  50        Push: <refspec>
  51        Pull: <refspec>
  52
  53------------
  54
  55`Push:` lines are used by 'git push' and
  56`Pull:` lines are used by 'git pull' and 'git fetch'.
  57Multiple `Push:` and `Pull:` lines may
  58be specified for additional branch mappings.
  59
  60Named file in `$GIT_DIR/branches`
  61~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  62
  63You can choose to provide the name of a
  64file in `$GIT_DIR/branches`.
  65The URL in this file will be used to access the repository.
  66This file should have the following format:
  67
  68
  69------------
  70        <url>#<head>
  71------------
  72
  73`<url>` is required; `#<head>` is optional.
  74
  75Depending on the operation, git will use one of the following
  76refspecs, if you don't provide one on the command line.
  77`<branch>` is the name of this file in `$GIT_DIR/branches` and
  78`<head>` defaults to `master`.
  79
  80git fetch uses:
  81
  82------------
  83        refs/heads/<head>:refs/heads/<branch>
  84------------
  85
  86git push uses:
  87
  88------------
  89        HEAD:refs/heads/<head>
  90------------
  91
  92
  93
  94