Server IP : 103.119.228.120 / Your IP : 3.15.141.155 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/local/ssl/share/doc/git-1.8.3.1/ |
Upload File : |
gitcredentials(7) ================= NAME ---- gitcredentials - providing usernames and passwords to Git SYNOPSIS -------- ------------------ git config credential.https://example.com.username myusername git config credential.helper "$helper $options" ------------------ DESCRIPTION ----------- Git will sometimes need credentials from the user in order to perform operations; for example, it may need to ask for a username and password in order to access a remote repository over HTTP. This manual describes the mechanisms Git uses to request these credentials, as well as some features to avoid inputting these credentials repeatedly. REQUESTING CREDENTIALS ---------------------- Without any credential helpers defined, Git will try the following strategies to ask the user for usernames and passwords: 1. If the `GIT_ASKPASS` environment variable is set, the program specified by the variable is invoked. A suitable prompt is provided to the program on the command line, and the user's input is read from its standard output. 2. Otherwise, if the `core.askpass` configuration variable is set, its value is used as above. 3. Otherwise, if the `SSH_ASKPASS` environment variable is set, its value is used as above. 4. Otherwise, the user is prompted on the terminal. AVOIDING REPETITION ------------------- It can be cumbersome to input the same credentials over and over. Git provides two methods to reduce this annoyance: 1. Static configuration of usernames for a given authentication context. 2. Credential helpers to cache or store passwords, or to interact with a system password wallet or keychain. The first is simple and appropriate if you do not have secure storage available for a password. It is generally configured by adding this to your config: --------------------------------------- [credential "https://example.com"] username = me --------------------------------------- Credential helpers, on the other hand, are external programs from which Git can request both usernames and passwords; they typically interface with secure storage provided by the OS or other programs. To use a helper, you must first select one to use. Git currently includes the following helpers: cache:: Cache credentials in memory for a short period of time. See linkgit:git-credential-cache[1] for details. store:: Store credentials indefinitely on disk. See linkgit:git-credential-store[1] for details. You may also have third-party helpers installed; search for `credential-*` in the output of `git help -a`, and consult the documentation of individual helpers. Once you have selected a helper, you can tell Git to use it by putting its name into the credential.helper variable. 1. Find a helper. + ------------------------------------------- $ git help -a | grep credential- credential-foo ------------------------------------------- 2. Read its description. + ------------------------------------------- $ git help credential-foo ------------------------------------------- 3. Tell Git to use it. + ------------------------------------------- $ git config --global credential.helper foo ------------------------------------------- If there are multiple instances of the `credential.helper` configuration variable, each helper will be tried in turn, and may provide a username, password, or nothing. Once Git has acquired both a username and a password, no more helpers will be tried. CREDENTIAL CONTEXTS ------------------- Git considers each credential to have a context defined by a URL. This context is used to look up context-specific configuration, and is passed to any helpers, which may use it as an index into secure storage. For instance, imagine we are accessing `https://example.com/foo.git`. When Git looks into a config file to see if a section matches this context, it will consider the two a match if the context is a more-specific subset of the pattern in the config file. For example, if you have this in your config file: -------------------------------------- [credential "https://example.com"] username = foo -------------------------------------- then we will match: both protocols are the same, both hosts are the same, and the "pattern" URL does not care about the path component at all. However, this context would not match: -------------------------------------- [credential "https://kernel.org"] username = foo -------------------------------------- because the hostnames differ. Nor would it match `foo.example.com`; Git compares hostnames exactly, without considering whether two hosts are part of the same domain. Likewise, a config entry for `http://example.com` would not match: Git compares the protocols exactly. CONFIGURATION OPTIONS --------------------- Options for a credential context can be configured either in `credential.*` (which applies to all credentials), or `credential.<url>.*`, where <url> matches the context as described above. The following options are available in either location: helper:: The name of an external credential helper, and any associated options. If the helper name is not an absolute path, then the string `git credential-` is prepended. The resulting string is executed by the shell (so, for example, setting this to `foo --option=bar` will execute `git credential-foo --option=bar` via the shell. See the manual of specific helpers for examples of their use. username:: A default username, if one is not provided in the URL. useHttpPath:: By default, Git does not consider the "path" component of an http URL to be worth matching via external helpers. This means that a credential stored for `https://example.com/foo.git` will also be used for `https://example.com/bar.git`. If you do want to distinguish these cases, set this option to `true`. CUSTOM HELPERS -------------- You can write your own custom helpers to interface with any system in which you keep credentials. See the documentation for Git's link:technical/api-credentials.html[credentials API] for details. GIT --- Part of the linkgit:git[1] suite