R: Create or discover a local Git repository

git_repo {gert} | R Documentation

## Create or discover a local Git repository

### Description

Use `git_init()` to create a new repository or `git_find()` to discover an existing local repository. `git_info()` shows basic information about a repository, such as the SHA and branch of the current HEAD.

### Usage

    git_init(path = ".")

    git_find(path = ".")

    git_info(repo = ".")

### Arguments

`path` | the location of the git repository, see details.
`repo` | The path to the git repository. If the directory is not a repository, parent directories are considered (see git_find). To disable this search, provide the filepath protected with `I()`. When using this parameter, always explicitly call by name (i.e. `repo =` ) because future versions of gert may have additional parameters.

### Details

For `git_init()` the `path` parameter sets the directory of the git repository to create. If this directory already exists, it must be empty. If it does not exist, it is created, along with any intermediate directories that don't yet exist. For `git_find()` the `path` arguments specifies the directory at which to start the search for a git repository. If it is not a git repository itself, then its parent directory is consulted, then the parent's parent, and so on.

### Value

The path to the Git repository.

### See Also

Other git: `git_archive`, `git_branch()`, `git_commit()`, `git_config()`, `git_diff()`, `git_fetch()`, `git_merge()`, `git_rebase()`, `git_remote`, `git_signature()`, `git_stash`, `git_tag`

### Examples

    # directory does not yet exist
    r <- tempfile(pattern = "gert")
    git_init(r)
    git_find(r)

    # create a child directory, then a grandchild, then search
    r_grandchild_dir <- file.path(r, "aaa", "bbb")
    dir.create(r_grandchild_dir, recursive = TRUE)
    git_find(r_grandchild_dir)

    # cleanup
    unlink(r, recursive = TRUE)

    # directory exists but is empty
    r <- tempfile(pattern = "gert")
    dir.create(r)
    git_init(r)
    git_find(r)

    # cleanup
    unlink(r, recursive = TRUE)

[Package gert version 1.0.2 Index]