salt.modules.git¶
Support for the Git SCM
-
salt.modules.git.
add
(cwd, file_name, user=None, opts=None)¶ add a file to git
- cwd
- The path to the Git repository
- file_name
- Path to the file in the cwd
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.add /path/to/git/repo /path/to/file
-
salt.modules.git.
archive
(cwd, output, rev='HEAD', fmt=None, prefix=None, user=None)¶ Export a tarball from the repository
- cwd
- The path to the Git repository
- output
- The path to the archive tarball
- rev: HEAD
- The revision to create an archive from
- fmt: None
- Format of the resulting archive, zip and tar are commonly used
- prefix : None
- Prepend <prefix>/ to every filename in the archive
- user : None
- Run git as a user other than what the minion runs as
If
prefix
is not specified it defaults to the basename of the repo directory.CLI Example:
salt '*' git.archive /path/to/repo /path/to/archive.tar.gz
-
salt.modules.git.
checkout
(cwd, rev, force=False, opts=None, user=None)¶ Checkout a given revision
- cwd
- The path to the Git repository
- rev
- The remote branch or revision to checkout
- force : False
- Force a checkout even if there might be overwritten changes
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Examples:
salt '*' git.checkout /path/to/repo somebranch user=jeff salt '*' git.checkout /path/to/repo opts='testbranch -- conf/file1 file2' salt '*' git.checkout /path/to/repo rev=origin/mybranch opts=--track
-
salt.modules.git.
clone
(cwd, repository, opts=None, user=None, identity=None)¶ Clone a new repository
- cwd
- The path to the Git repository
- repository
- The git URI of the repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
- identity : None
- A path to a private key to use over SSH
CLI Example:
salt '*' git.clone /path/to/repo git://github.com/saltstack/salt.git salt '*' git.clone /path/to/repo.git\ git://github.com/saltstack/salt.git '--bare --origin github'
-
salt.modules.git.
commit
(cwd, message, user=None, opts=None)¶ create a commit
- cwd
- The path to the Git repository
- message
- The commit message
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.commit /path/to/git/repo 'The commit message'
-
salt.modules.git.
config_get
(cwd, setting_name, user=None)¶ Get a key from the git configuration file (.git/config) of the repository.
- cwd
- The path to the Git repository
- setting_name
- The name of the configuration key to get
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.config_get /path/to/repo user.email
-
salt.modules.git.
config_set
(cwd, setting_name, setting_value, user=None, is_global=False)¶ Set a key in the git configuration file (.git/config) of the repository or globally.
- cwd
- The path to the Git repository
- setting_name
- The name of the configuration key to set
- setting_value
- The (new) value to set
- user : None
- Run git as a user other than what the minion runs as
- is_global : False
- Set to True to use the '--global' flag with 'git config'
CLI Example:
salt '*' git.config_set /path/to/repo user.email me@example.com
-
salt.modules.git.
current_branch
(cwd, user=None)¶ Returns the current branch name, if on a branch.
CLI Example:
salt '*' git.current_branch /path/to/repo
-
salt.modules.git.
describe
(cwd, rev='HEAD', user=None)¶ Returns the git describe string (or the SHA hash if there are no tags) for the given revision
- cwd
- The path to the Git repository
- rev: HEAD
- The revision to describe
- user : None
- Run git as a user other than what the minion runs as
CLI Examples:
salt '*' git.describe /path/to/repo salt '*' git.describe /path/to/repo develop
-
salt.modules.git.
fetch
(cwd, opts=None, user=None, identity=None)¶ Perform a fetch on the given repository
- cwd
- The path to the Git repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
- identity : None
- A path to a private key to use over SSH
CLI Example:
salt '*' git.fetch /path/to/repo '--all' salt '*' git.fetch cwd=/path/to/repo opts='--all' user=johnny
-
salt.modules.git.
init
(cwd, opts=None, user=None)¶ Initialize a new git repository
- cwd
- The path to the Git repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.init /path/to/repo.git opts='--bare'
-
salt.modules.git.
merge
(cwd, branch='@{upstream}', opts=None, user=None)¶ Merge a given branch
- cwd
- The path to the Git repository
- branch : @{upstream}
- The remote branch or revision to merge into the current branch
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.fetch /path/to/repo salt '*' git.merge /path/to/repo @{upstream}
-
salt.modules.git.
pull
(cwd, opts=None, user=None, identity=None)¶ Perform a pull on the given repository
- cwd
- The path to the Git repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
- identity : None
- A path to a private key to use over SSH
CLI Example:
salt '*' git.pull /path/to/repo opts='--rebase origin master'
-
salt.modules.git.
push
(cwd, remote_name, branch='master', user=None, opts=None, identity=None)¶ Push to remote
- cwd
- The path to the Git repository
- remote_name
- Name of the remote to push to
- branch : master
- Name of the branch to push
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
- identity : None
- A path to a private key to use over SSH
CLI Example:
salt '*' git.push /path/to/git/repo remote-name
-
salt.modules.git.
rebase
(cwd, rev='master', opts=None, user=None)¶ Rebase the current branch
- cwd
- The path to the Git repository
- rev : master
- The revision to rebase onto the current branch
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.rebase /path/to/repo master salt '*' git.rebase /path/to/repo 'origin master'
That is the same as:
git rebase master git rebase origin master
-
salt.modules.git.
remote_get
(cwd, remote='origin', user=None)¶ get the fetch and push URL for a specified remote name
- remote : origin
- the remote name used to define the fetch and push URL
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.remote_get /path/to/repo salt '*' git.remote_get /path/to/repo upstream
-
salt.modules.git.
remote_set
(cwd, name='origin', url=None, user=None)¶ sets a remote with name and URL like git remote add <remote_name> <remote_url>
- remote_name : origin
- defines the remote name
- remote_url : None
- defines the remote URL; should not be None!
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.remote_set /path/to/repo remote_url=git@github.com:saltstack/salt.git salt '*' git.remote_set /path/to/repo origin git@github.com:saltstack/salt.git
-
salt.modules.git.
remotes
(cwd, user=None)¶ Get remotes like git remote -v
- cwd
- The path to the Git repository
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.remotes /path/to/repo
-
salt.modules.git.
reset
(cwd, opts=None, user=None)¶ Reset the repository checkout
- cwd
- The path to the Git repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.reset /path/to/repo master
-
salt.modules.git.
revision
(cwd, rev='HEAD', short=False, user=None)¶ Returns the long hash of a given identifier (hash, branch, tag, HEAD, etc)
- cwd
- The path to the Git repository
- rev: HEAD
- The revision
- short: False
- Return an abbreviated SHA1 git hash
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.revision /path/to/repo mybranch
-
salt.modules.git.
rm
(cwd, file_name, user=None, opts=None)¶ Remove a file from git
- cwd
- The path to the Git repository
- file_name
- Path to the file in the cwd
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.rm /path/to/git/repo /path/to/file
-
salt.modules.git.
stash
(cwd, opts=None, user=None)¶ Stash changes in the repository checkout
- cwd
- The path to the Git repository
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.stash /path/to/repo master
-
salt.modules.git.
status
(cwd, user=None)¶ Return the status of the repository. The returned format uses the status codes of gits 'porcelain' output mode
- cwd
- The path to the Git repository
- user : None
- Run git as a user other than what the minion runs as
CLI Example:
salt '*' git.status /path/to/git/repo
-
salt.modules.git.
submodule
(cwd, init=True, opts=None, user=None, identity=None)¶ Initialize git submodules
- cwd
- The path to the Git repository
- init : True
- Ensure that new submodules are initialized
- opts : None
- Any additional options to add to the command line
- user : None
- Run git as a user other than what the minion runs as
- identity : None
- A path to a private key to use over SSH
CLI Example:
salt '*' git.submodule /path/to/repo.git/sub/repo